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

NB.SI ou NB.VIDE avec VBA

8 réponses
Avatar
LANIMAL
Bonne journée à toi qui me lira
Je n’arrive pas à trouver la fonction VBA qui correspond dans Excel à :
NB.SI(A1 :B5 ; « ABC ») et NB.VIDE(A1 :B5)
J’ai trouvé dans l’aide VBA que les fonctions d’Excel peuvent être
utilisées dans VBA selon l’exemple donné :
Application.WorksheetFunction.Min(myRange)
J’ai donc essayé en remplaçant .Min(…) par
.NB.SI(A1 :B5) ou .NB.SI(maPlage) - idem avec NB.VIDE()
... et ça ne fonctionne pas.
En prime qq’un pourait-il me dire la bonne méthode pour trouver dans
l’aide la réponse à une telle question ? - Entre autres, j’ai consulté
l’explorateur d’objets (et son outil « recherche »), mais je n’ai pas su
en tirer une réponse.
Cordial merci.

8 réponses

Avatar
Pierre Fauconnier
Bonjour

Il faut utiliser les fonctions anglaises
NB.SI = COUNTIF
NB.VIDE = COUNTBLANK

Donc
Application.WorksheetFunction.Countif
Application.WorksheetFunction.Countblank

Ok?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"LANIMAL" a écrit dans le message de
news:%
Bonne journée à toi qui me lira
Je n’arrive pas à trouver la fonction VBA qui correspond dans Excel à :
NB.SI(A1 :B5 ; « ABC ») et NB.VIDE(A1 :B5)
J’ai trouvé dans l’aide VBA que les fonctions d’Excel peuvent être
utilisées dans VBA selon l’exemple donné :
Application.WorksheetFunction.Min(myRange)
J’ai donc essayé en remplaçant .Min(…) par
.NB.SI(A1 :B5) ou .NB.SI(maPlage) - idem avec NB.VIDE()
... et ça ne fonctionne pas.
En prime qq’un pourait-il me dire la bonne méthode pour trouver dans
l’aide la réponse à une telle question ? - Entre autres, j’ai consulté
l’explorateur d’objets (et son outil « recherche »), mais je n’ai pas su
en tirer une réponse.
Cordial merci.


Avatar
denis P
Bonjour LANIMAL
NB.SI - a = Application.WorksheetFunction.CountIf(plage, critère)
NB.VIDE - a = Application.WorksheetFunction.CountBlank(plage)

denis p.


"LANIMAL" a écrit dans le message de
news:%
Bonne journée à toi qui me lira
Je n’arrive pas à trouver la fonction VBA qui correspond dans Excel à :
NB.SI(A1 :B5 ; « ABC ») et NB.VIDE(A1 :B5)
J’ai trouvé dans l’aide VBA que les fonctions d’Excel peuvent être
utilisées dans VBA selon l’exemple donné :
Application.WorksheetFunction.Min(myRange)
J’ai donc essayé en remplaçant .Min(…) par
.NB.SI(A1 :B5) ou .NB.SI(maPlage) - idem avec NB.VIDE()
... et ça ne fonctionne pas.
En prime qq’un pourait-il me dire la bonne méthode pour trouver dans
l’aide la réponse à une telle question ? - Entre autres, j’ai consulté
l’explorateur d’objets (et son outil « recherche »), mais je n’ai pas su
en tirer une réponse.
Cordial merci.


Avatar
Pounet95
Bonjour,
Personnellement, dans ce cas de figure, j'utilise l'enregistreur de macro
avant d'écrire ma formule
et quand c'est terminé je regarde et adapte le VBA.
Bonne journée
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"LANIMAL" a écrit dans le message de news:
%
Bonne journée à toi qui me lira
Je n’arrive pas à trouver la fonction VBA qui correspond dans Excel à :
NB.SI(A1 :B5 ; « ABC ») et NB.VIDE(A1 :B5)
J’ai trouvé dans l’aide VBA que les fonctions d’Excel peuvent être
utilisées dans VBA selon l’exemple donné :
Application.WorksheetFunction.Min(myRange)
J’ai donc essayé en remplaçant .Min(…) par
.NB.SI(A1 :B5) ou .NB.SI(maPlage) - idem avec NB.VIDE()
... et ça ne fonctionne pas.
En prime qq’un pourait-il me dire la bonne méthode pour trouver dans l’aide
la réponse à une telle question ? - Entre autres, j’ai consulté l’explorateur
d’objets (et son outil « recherche »), mais je n’ai pas su en tirer une
réponse.
Cordial merci.


Avatar
LANIMAL
Oui, moi aussi j'utilise la méthode qui consiste à "enregistrer" la
macro, puis regarder ce qu'à fait l'enregistreur... sauf que j'avais
omis d'insérer "Application.WorksheetFunction."
Par contre, j'avais alors essayé de chercher de l'info sur "CountIf"
dans l'aide de VBA, et alors, il me répond : "Je ne comprends pas la
question. - Veuillez la reformuler"
Moi, je ne comprends pas qu'il ne comprenne pas ! :-)
Merci pour vos aides.

Bonjour,
Personnellement, dans ce cas de figure, j'utilise l'enregistreur de
macro avant d'écrire ma formule
et quand c'est terminé je regarde et adapte le VBA.
Bonne journée


Avatar
LANIMAL
Oui, moi aussi j'utilise la méthode qui consiste à "enregistrer" la
macro, puis regarder ce qu'à fait l'enregistreur... sauf que j'avais
omis d'insérer "Application.WorksheetFunction."
Par contre, j'avais alors essayé de chercher de l'info sur "CountIf"
dans l'aide de VBA, et alors, il me répond : "Je ne comprends pas la
question. - Veuillez la reformuler"
Moi, je ne comprends pas qu'il ne comprenne pas ! :-)
Merci pour vos aides.

Bonjour

Il faut utiliser les fonctions anglaises
NB.SI = COUNTIF
NB.VIDE = COUNTBLANK


Avatar
LANIMAL
Oui, moi aussi j'utilise la méthode qui consiste à "enregistrer" la
macro, puis regarder ce qu'à fait l'enregistreur... sauf que j'avais
omis d'insérer "Application.WorksheetFunction."
Par contre, j'avais alors essayé de chercher de l'info sur "CountIf"
dans l'aide de VBA, et alors, il me répond : "Je ne comprends pas la
question. - Veuillez la reformuler"
Moi, je ne comprends pas qu'il ne comprenne pas ! :-)
Merci pour vos aides.

Bonjour LANIMAL
NB.SI - a = Application.WorksheetFunction.CountIf(plage, critère)
NB.VIDE - a = Application.WorksheetFunction.CountBlank(plage)
denis p.

"LANIMAL" a écrit dans le message de
news:%

Je n’arrive pas à trouver la fonction VBA qui correspond dans Excel à :
NB.SI(A1 :B5 ; « ABC ») et NB.VIDE(A1 :B5)
...




Avatar
Denis
Bonjour,

On peut trouver des traductions dans VBALIST.XLS qui est
normalement dans Program files, Microsoft office, office,
1036

Denis

-----Message d'origine-----
Bonne journée à toi qui me lira
Je n'arrive pas à trouver la fonction VBA qui correspond
dans Excel à :

NB.SI(A1 :B5 ; « ABC ») et NB.VIDE(A1 :B5)
J'ai trouvé dans l'aide VBA que les fonctions d'Excel
peuvent être

utilisées dans VBA selon l'exemple donné :
Application.WorksheetFunction.Min(myRange)
J'ai donc essayé en remplaçant .Min(.) par
.NB.SI(A1 :B5) ou .NB.SI(maPlage) - idem avec NB.VIDE
()

.... et ça ne fonctionne pas.
En prime qq'un pourait-il me dire la bonne méthode pour
trouver dans

l'aide la réponse à une telle question ? - Entre autres,
j'ai consulté

l'explorateur d'objets (et son outil « recherche »), mais
je n'ai pas su

en tirer une réponse.
Cordial merci.
.



Avatar
LANIMAL
Oui, merci Denis pour cette info, mais je ne sais toujours pas comment
trouver l'aide relative aux fonctions VBA équivalentes des fonctions
Excel, c'est à dire l'info sur la syntaxe et exemples.
Par exemple :
Aide relative à la fonction CountIF : L'aide VBA ne connait pas CountIF.
Pour ce cas mon pb est maintenant résolu, mais j'ai plusieurs fois
rencontré ce pb pour d'autres cas.
On peut trouver des traductions dans VBALIST.XLS qui est
normalement dans Program files, Microsoft office, office,
1036
Denis
-----Message d'origine-----
En prime qq'un pourait-il me dire la bonne méthode pour
trouver dans

l'aide la réponse à une telle question ? - Entre autres,
j'ai consulté

l'explorateur d'objets (et son outil « recherche »), mais
je n'ai pas su en tirer une réponse.

Cordial merci.