Erreur #NOM? sur Range().formula avec NB.SI.ENS
Résolu
mod77
Messages postés
1320
Date d'inscription
Statut
Membre
Dernière intervention
-
mod77 Messages postés 1320 Date d'inscription Statut Membre Dernière intervention -
mod77 Messages postés 1320 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai voulu entrer la formule ci après dans mon code vba, pour compter le nombre de "VRAI" présents dans ma colonne "A" :
mais j'ai eu une erreur 1004. Alors j'ai cherché l'équivalent anglais:
mais maintenant j'ai: #NOM? affiché en A4 et je ne comprends pas pourquoi.
Quelqu'un peut-il m'aider svp?
--
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
J'ai voulu entrer la formule ci après dans mon code vba, pour compter le nombre de "VRAI" présents dans ma colonne "A" :
Range("A4").Formula = "=NB.SI.ENS(A6:A156";""VRAI"")"
mais j'ai eu une erreur 1004. Alors j'ai cherché l'équivalent anglais:
Range("A4").Formula = "=COUNTIFS(A6:A156;""VRAI"")
mais maintenant j'ai: #NOM? affiché en A4 et je ne comprends pas pourquoi.
Quelqu'un peut-il m'aider svp?
--
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
1 réponse
-
Bonjour
essaye avec une virguleRange("A4").Formula = "=COUNTIFS(A6:A156,""VRAI"")"
Cordialement,
Jordane-
Et puis.. sinon tu peux utiliser le FormulaLocal au lieu de Formula pour le mettre en français...
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.formulalocal?redirectedfrom=MSDN -
-
Bonjour,
Attention VRAI peut être soit un texte, soit un booléen !!!
Lorsqu'on saisit Vrai dans une cellule au format Standard, Excel le convertit automatiquement en booléen (idem pour Faux).
Lorsqu'on saisit Vrai dans une cellule déjà au format Texte, Vrai reste du texte.
De plus, le fait de changer de format de cellule (Standard vers Texte ou inversement) ne change pas la donnée qu'elle contient déjà : un booléen reste un booléen et un texte reste un texte.
Comment faire la différence :
- mettre la cellule en alignement horizontal Standard (pas droite, pas gauche, pas centré)
- élargir la colonne : les booléens sont toujours centrés et en majuscule, les textes sont alignés à gauche et conservent la casse dans laquelle ils ont été saisis.
Pour du texte :Range("A4").NumberFormatLocal = "Standard" Range("A4").FormulaLocal = "=NB.SI.ENS(A6:A156;""VRAI"")"Pour des booléens :Range("A4").NumberFormatLocal = "Standard" Range("A4").FormulaLocal = "=NB.SI.ENS(A6:A156;VRAI)"
PS : si il n'y a qu'un critère, employer NB.SI() au lieu de NB.SI.ENS()- Alors là chapeau bas ! Merci beaucoup Patrice33740!
Là, je ne pouvais pas trouver seul j'en était encore à torturer ces formules:
'Range("A4").Value = Application.WorksheetFunction.CountIfs(Worksheets("Presence").Range("A6:A156"), "VRAI")
'Range("A4").Value = Worksheets("Presence").Range("A:A").Find(what:="VRAI", lookat:=xlWhole)
sans résultat hormis un zéro pour la 1ere.
Youpi :-)) je peux aller manger maintenant
merci beaucoup et à jordane45 aussi
-