Condition sur un nombre quelconque de variable [Résolu]

Signaler
Messages postés
16
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
22 août 2011
-
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour !
comment est-il possible de faire ça ?

if ( cell(1).value "" And cell(2).value "" And ... And cell(n).value = "" )
étant donné que je ne connais pas combien de fois je vais devoir ecrire AND, comment est ce que je fais ça ?

merci !

10 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Bonjour,
si toutes les cellules d'une plage (un Range) sont vides, la fonction CountA renvoit 0
Exemple pour la plage A2:A10 ===>>
if WorksheetFunction.CountA(Range("A2:A10")) = 0 then msgbox "vide"

Je ne comprends par contre pas ceci :
...étant donné que je ne connais pas combien de fois je vais devoir ecrire...

que veux-tu exactement exprimer ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
16
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
22 août 2011

ben le nombre de fois que And apparait est n-1 étant donné que j'ai n cellule à vérifier
mais le nombre de cellule n varie
donc si n = 2
il n'existe un And à qui on peut donner un nombre quelconque de conditions ?
genre And(condition1, condition2, condition3, ..., condition53000) ?
ça serait quand même bien pratique de ne pas avoir à écire
condition1 And condition2 And condition3 And ....... And condition53000
Messages postés
16
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
22 août 2011

(c'est pas possible d'éditer sur ce forum ?)

ben le nombre de fois que And apparait est n-1 étant donné que j'ai n cellule à vérifier
mais le nombre de cellule n varie


il n'existe pas un And à qui on peut donner un nombre quelconque de conditions ?
genre ça ressemblerait à
And(condition1, condition2, condition3, ..., condition53000) ?
ça serait quand même bien pratique de ne pas avoir à écire
condition1 And condition2 And condition3 And ....... And condition53000
Messages postés
16
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
22 août 2011

désolé, je vois que j'ai encore mal ecris,
ce qu'il faudrait, c'est And(pour i allant de 1 à n, condition(i))
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Pas de problème, mais n doit réellement avoir une valeur connue !
Je t'ai par ailleurs montré qu'une boucle sur tes cellules n'était pas nécessaire.
Application : ====>>

n = 210
if WorksheetFunction.CountA(Range("A2:A" & n)) = 0 then msgbox "vide"


mais n ne saurait être indéterminé !
Mais dis-nous donc : ne serait-ce pas (ton n) par hasard le numéro de la dernière ligne remplie de ta colonne ? Si oui : il faut nous le dire !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
16
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
22 août 2011

merci, je m'en suis sorti grâce à ta fonction

voilà ce que je voulais faire

    While (WorksheetFunction.CountA(Range(Chr(COLONNE_AFFAIRE) & LTrim(Str(Ligne)) & ":" & Chr(COLONNE_COMMENTAIRE + 4) & LTrim(Str(Ligne)))) <> 0)
        Ligne = Ligne + 1
    Wend
Messages postés
16
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
22 août 2011

hmm je remarque quelque chose d'étrange dans ton code
Range("A2:A" & n)
"A2:A" est une chaine alors que n est en entier, comment se fait-il que ça marche ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
fait ce petit essai et tout sera clair dans ton esprit
n = 12
MsgBox "A" & n


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
16
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
22 août 2011

oui il y'a un truc qui transforme notre entier n est la chaine "12"
c'est l'opérateur & qui est surchargé en fait ? (si j'ai bien compris l'histoire de surcharge d'opérateur)
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Il s'agit là du plus élémentaire.
Ce sujet est pour moi résolu.
Te reste à cliquer sur le tag "Réponse acceptée", s'il l'est pour toi ici.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient