sommeprod Compter nombre de cellules avec contenu différent sur plage variable
4 réponses
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.
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
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
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 <ale...@orange.fr> 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
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
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
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
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
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
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
Bonjour,
Si cellules vides dans le champ:
=SOMME(SI(A1:A8<>"";1/NB.SI(A1:A8;A1:A8)))
Valider avec Maj+Ctrl+entrée
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=A1: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 :
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 :