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

sommeprod Compter nombre de cellules avec contenu différent sur plage variable

4 réponses
Avatar
Alex
Bonjour =E0 tous,

J'ai voulu faire un sommeprod pour compter le nombre de cellules avec
un contenu diff=E9rent dans une colonne, comme suit :

=3DSOMMEPROD((A1:A5=3DA1:A5)/NB.SI(A1:A5;A1:A5))

Cela fonctionne tr=E8s bien, lorsque je connais la plage, mais bien sure
ma plage est variable et si j''agrandi ma d=E9finition de plage et qu'il
y a des cellule vide, cela ne fonctionne plus, j'obtiens :

#DIV/0!

Quelqu'un aurait il une solution =E0 mon probl=E8me.

Merci par avance de votre aide.

Bien cordialement.
Alex

4 réponses

Avatar
Alex
Re Bonjour à tous,

Je pense avoir trouvé la solution, j'ai modifié mon sommeprod comme
suit :

=SOMMEPROD((plage=plage)/NB.SI(plage;plage))

et dans ma macro, j'ai ajouté les lignes suivantes, afin de définir
plage :

Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
With Selection
Selection.Name = "plage"
End With

Cela semble fonctionné correctement.

Cela vous semble t il correct ?

Bien cordialement.
Alex
Avatar
LSteph
Bonjour,
Cela vous semble t il correct ?


oui, mais vire donc toutes ces merdouilles de Select Selection

Range([A2], [A2].End(xlDown)).Name = "plage"


tu pourrais aussi recourir à ce qui existe dans excel avant de
recourir à vba, soit définir un nom dynamique avec decaler lire ici:
http://www.excelabo.net/pasapas/decaler

Dans la page voir à
Utilisation de DECALER pour définir des plages de façon dynamique :
définir la plage qui va de A1 jusqu'à la dernière cellule non vide de
la colonne A.

Cordialement.

--
LSteph

On Jul 22, 10:38 am, Alex wrote:
Re Bonjour à tous,

Je pense avoir trouvé la solution, j'ai modifié mon sommeprod comme
suit :

=SOMMEPROD((plage=plage)/NB.SI(plage;plage))

et dans ma macro, j'ai ajouté les lignes suivantes, afin de définir
plage :

Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
With Selection
    Selection.Name = "plage"
End With

Cela semble fonctionné correctement.

Cela vous semble t il correct ?

Bien cordialement.
Alex
Avatar
Alex
Bonjour LSteph,

Merci pour ta réponse.
En fait, je suis passé par le vba, car il s'agit d'une de mes étapes
de ma macro.
Je procede a la correction des mes "selection"
Merci encore
Alex
Avatar
JB
Bonjour,

Si cellules vides dans le champ:

=SOMME(SI(A1:A8<>"";1/NB.SI(A1:A8;A1:A8)))
Valider avec Maj+Ctrl+entrée

http://boisgontierjacques.free.fr/pages_site/sommeprod.htm#CompterNbDiff

JB

On 22 juil, 10:10, Alex wrote:
Bonjour à tous,

J'ai voulu faire un sommeprod pour compter le nombre de cellules avec
un contenu différent dans une colonne, comme suit :

=SOMMEPROD((A1:A5¡:A5)/NB.SI(A1:A5;A1:A5))

Cela fonctionne très bien, lorsque je connais la plage, mais bien sure
ma plage est variable et si j''agrandi ma définition de plage et qu'il
y a des cellule vide, cela ne fonctionne plus, j'obtiens :

#DIV/0!

Quelqu'un aurait il une solution à mon problème.

Merci par avance de votre aide.

Bien cordialement.
Alex