Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb sur formule

7 réponses
Avatar
Michel MTO
Bonjour le groupe,

Voici :

J'aimerai compter le nombre de cellules (se trouvant dans la même colonne)
dans une plage variable en évitant de compter 2 fois les cellules si elles
contiennent la même information.

Soit par une formule excel ou par VBA, ou les 2.

merci pour vos lumières


Michel

7 réponses

Avatar
Jacky
Bonjour,

Plage=zone de données nommée dynamiquement
Matricielle (valider par Ctrl+maj+entrée)
=SOMME(SI(plage<>"";1/NB.SI(plage;plage)))
--
Salutations
JJ


"Michel MTO" a écrit dans le message de news:
4a1cfc07$0$296$
Bonjour le groupe,

Voici :

J'aimerai compter le nombre de cellules (se trouvant dans la même colonne)
dans une plage variable en évitant de compter 2 fois les cellules si elles
contiennent la même information.

Soit par une formule excel ou par VBA, ou les 2.

merci pour vos lumières


Michel




Avatar
garnote
Bonjour,

En supposant que tes données soient dans la colonne A
et que la dernière ne soit pas au-delà de la ligne 10 000 :
=SOMME(SI(A1:A10000<>"";1/NB.SI(A1:A10000;A1:A10000)))
(à valider par Ctrl+Maj+Entrée)

Serge





"Michel MTO" a écrit dans le message de news:
4a1cfc07$0$296$
Bonjour le groupe,

Voici :

J'aimerai compter le nombre de cellules (se trouvant dans la même colonne)
dans une plage variable en évitant de compter 2 fois les cellules si elles
contiennent la même information.

Soit par une formule excel ou par VBA, ou les 2.

merci pour vos lumières


Michel




Avatar
Michel MTO
Bonjour Jacky,

tout d'abord merci pour ta réponse.

Je ne sais pas faire =>
Plage=zone de données nommée dynamiquement
Matricielle (valider par Ctrl+maj+entrée)
Moi je sélectione ma plage, puis je fais la combinaison des touches
Ctrl,maj,entrée et rien ne se passe. Excel ne me donne pas la possibilité de
définir un nom qui serait plage dans notre exemple ???

Plutôt que d'avoir la formule sur chaque ligne qui renvoie 1 ou 0.5 ou
inférieur si la cellule est répété plus de 2 fois, peut on avoir une formule
au pied de ma colonne qui me donne le nombre total

Bonjour,

Plage=zone de données nommée dynamiquement
Matricielle (valider par Ctrl+maj+entrée)
=SOMME(SI(plage<>"";1/NB.SI(plage;plage)))
--
Salutations
JJ


> Bonjour le groupe,
>
> Voici :
>
> J'aimerai compter le nombre de cellules (se trouvant dans la même


colonne)
> dans une plage variable en évitant de compter 2 fois les cellules si


elles
> contiennent la même information.
>
> Soit par une formule excel ou par VBA, ou les 2.
>
> merci pour vos lumières
>
>
> Michel
>
>




Avatar
Jacky
Re..
Je ne sais pas faire =>
Plage=zone de données nommée dynamiquement



voir ici
http://www.cijoint.fr/cjlink.php?file=cj200905/cijIf6Lhv8.xls

--
Salutations
JJ


"Michel MTO" a écrit dans le message de news:
4a1d1402$0$291$
Bonjour Jacky,

tout d'abord merci pour ta réponse.

Je ne sais pas faire =>
Plage=zone de données nommée dynamiquement
Matricielle (valider par Ctrl+maj+entrée)
Moi je sélectione ma plage, puis je fais la combinaison des touches
Ctrl,maj,entrée et rien ne se passe. Excel ne me donne pas la possibilité
de
définir un nom qui serait plage dans notre exemple ???

Plutôt que d'avoir la formule sur chaque ligne qui renvoie 1 ou 0.5 ou
inférieur si la cellule est répété plus de 2 fois, peut on avoir une
formule
au pied de ma colonne qui me donne le nombre total

Bonjour,

Plage=zone de données nommée dynamiquement
Matricielle (valider par Ctrl+maj+entrée)
=SOMME(SI(plage<>"";1/NB.SI(plage;plage)))
--
Salutations
JJ


> Bonjour le groupe,
>
> Voici :
>
> J'aimerai compter le nombre de cellules (se trouvant dans la même


colonne)
> dans une plage variable en évitant de compter 2 fois les cellules si


elles
> contiennent la même information.
>
> Soit par une formule excel ou par VBA, ou les 2.
>
> merci pour vos lumières
>
>
> Michel
>
>








Avatar
Michel MTO
Ok merci à tous les 2.

Maintenant quand je passe en VBA, j'écrit ceci :

ActiveWorkbook.ActiveSheet.Names.Add Name:="Plage", RefersTo:="â:E" &
Range("E65536").End(xlUp).Row
Range("E" & Range("E65536").End(xlUp).Row + 2).FormulaArray "=SUM(IF(Plage<>"""",1/COUNTIF(Plage,Plage)))"

Le problème c'est que l'adresse de la plage ainsi définie, bouge ??? à
chaque que je clique sur la flège en haut à gauche sur le nom "Plage" ???

Quelqu'un peut m'expliquer ?



"garnote" a écrit dans le message de
news:%
Bonjour,

En supposant que tes données soient dans la colonne A
et que la dernière ne soit pas au-delà de la ligne 10 000 :
=SOMME(SI(A1:A10000<>"";1/NB.SI(A1:A10000;A1:A10000)))
(à valider par Ctrl+Maj+Entrée)

Serge





"Michel MTO" a écrit dans le message de news:
4a1cfc07$0$296$
> Bonjour le groupe,
>
> Voici :
>
> J'aimerai compter le nombre de cellules (se trouvant dans la même


colonne)
> dans une plage variable en évitant de compter 2 fois les cellules si


elles
> contiennent la même information.
>
> Soit par une formule excel ou par VBA, ou les 2.
>
> merci pour vos lumières
>
>
> Michel
>
>




Avatar
MichDenis
Bonjour Michel,

'-------------------------------------------
Sub test()
Dim Rg As Range, Rg1 As Range
With ActiveWorkbook
With .ActiveSheet
'Étendue de la plage
Set Rg1 = .Range("E" & .Range("E65536").End(xlUp).Row)
'Si la formule est déjà en place, l'effacer
If Rg1.HasFormula Then Rg1.Clear
Set Rg = .Range("E2:E" & .Range("E65536").End(xlUp).Row)
'Où mettre la formule
Set Rg1 = .Range("E" & .Range("E65536").End(xlUp).Row + 2)
End With
End With
With Rg
'création du nom au niveau de la feuille
.Name = .Parent.Name & "!" & "Plage"
End With
'Insertion de la formule
With Rg1
.FormulaArray = "=SUM(IF(" & Rg.Address(0, 0) & _
"<>"""",1/COUNTIF(" & Rg.Address(0, 0) & _
"," & Rg.Address(0, 0) & ")))"
End With
End Sub
'-------------------------------------------



"Michel MTO" a écrit dans le message de groupe de discussion :
4a1d390a$0$294$
Ok merci à tous les 2.

Maintenant quand je passe en VBA, j'écrit ceci :

ActiveWorkbook.ActiveSheet.Names.Add Name:="Plage", RefersTo:="â:E" &
Range("E65536").End(xlUp).Row
Range("E" & Range("E65536").End(xlUp).Row + 2).FormulaArray "=SUM(IF(Plage<>"""",1/COUNTIF(Plage,Plage)))"

Le problème c'est que l'adresse de la plage ainsi définie, bouge ??? à
chaque que je clique sur la flège en haut à gauche sur le nom "Plage" ???

Quelqu'un peut m'expliquer ?



"garnote" a écrit dans le message de
news:%
Bonjour,

En supposant que tes données soient dans la colonne A
et que la dernière ne soit pas au-delà de la ligne 10 000 :
=SOMME(SI(A1:A10000<>"";1/NB.SI(A1:A10000;A1:A10000)))
(à valider par Ctrl+Maj+Entrée)

Serge





"Michel MTO" a écrit dans le message de news:
4a1cfc07$0$296$
> Bonjour le groupe,
>
> Voici :
>
> J'aimerai compter le nombre de cellules (se trouvant dans la même


colonne)
> dans une plage variable en évitant de compter 2 fois les cellules si


elles
> contiennent la même information.
>
> Soit par une formule excel ou par VBA, ou les 2.
>
> merci pour vos lumières
>
>
> Michel
>
>




Avatar
Michel MTO
Nickel Chrome

Merci Beaucoup

Bonjour Michel,

'-------------------------------------------
Sub test()
Dim Rg As Range, Rg1 As Range
With ActiveWorkbook
With .ActiveSheet
'Étendue de la plage
Set Rg1 = .Range("E" & .Range("E65536").End(xlUp).Row)
'Si la formule est déjà en place, l'effacer
If Rg1.HasFormula Then Rg1.Clear
Set Rg = .Range("E2:E" & .Range("E65536").End(xlUp).Row)
'Où mettre la formule
Set Rg1 = .Range("E" & .Range("E65536").End(xlUp).Row + 2)
End With
End With
With Rg
'création du nom au niveau de la feuille
.Name = .Parent.Name & "!" & "Plage"
End With
'Insertion de la formule
With Rg1
.FormulaArray = "=SUM(IF(" & Rg.Address(0, 0) & _
"<>"""",1/COUNTIF(" & Rg.Address(0, 0) & _
"," & Rg.Address(0, 0) & ")))"
End With
End Sub
'-------------------------------------------



"Michel MTO" a écrit dans le message de groupe


de discussion :
4a1d390a$0$294$
Ok merci à tous les 2.

Maintenant quand je passe en VBA, j'écrit ceci :

ActiveWorkbook.ActiveSheet.Names.Add Name:="Plage", RefersTo:="â:E" &
Range("E65536").End(xlUp).Row
Range("E" & Range("E65536").End(xlUp).Row + 2).FormulaArray > "=SUM(IF(Plage<>"""",1/COUNTIF(Plage,Plage)))"

Le problème c'est que l'adresse de la plage ainsi définie, bouge ??? à
chaque que je clique sur la flège en haut à gauche sur le nom "Plage" ???

Quelqu'un peut m'expliquer ?



"garnote" a écrit dans le message de
news:%
> Bonjour,
>
> En supposant que tes données soient dans la colonne A
> et que la dernière ne soit pas au-delà de la ligne 10 000 :
> =SOMME(SI(A1:A10000<>"";1/NB.SI(A1:A10000;A1:A10000)))
> (à valider par Ctrl+Maj+Entrée)
>
> Serge
>
>
>
>
>
> "Michel MTO" a écrit dans le message de news:
> 4a1cfc07$0$296$
> > Bonjour le groupe,
> >
> > Voici :
> >
> > J'aimerai compter le nombre de cellules (se trouvant dans la même
colonne)
> > dans une plage variable en évitant de compter 2 fois les cellules si
elles
> > contiennent la même information.
> >
> > Soit par une formule excel ou par VBA, ou les 2.
> >
> > merci pour vos lumières
> >
> >
> > Michel
> >
> >
>
>