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

vba - x1 = Application.CountIf([E:E], Cells(n, 2)) mais avec une variable [var:var]

3 réponses
Avatar
twinley
Bonsoir,

Quand n=2, le nom qui se trouve dans la cell B2 est compté dans la
colonne E et c'est aussi un moyen de détecter sa presence, s'il est
absent c'est x1 = 0.
La formule suivante fonctionne bien.
x1 = Application.CountIf([E:E], Cells(n, 2))
et aussi
x2 = Application.CountIf([H:H], Cells(n, 2))
etc.

Mais je souhaite faire une boucle pour balayer d'autres colonnes, H, K,
N etc.

Avec une variable colemploye qui saute de 3 en 3, je sèche pour trouver
la syntaxe qui va bien. Un truc dans le style :
x1 = Application.CountIf(range(colemploye:colemploye), Cells(n, 2))

Cela ne passe pas, ainsi que les autres variantes que j'ai essayé avec
columns ou range ou [ ] avec des " et des & et des trucs et des machins.

Une aide serait grandement appréciée

--
à+twinley

3 réponses

Avatar
docm
Bonjour twinley.

Avec la syntaxe suivante, tu n'as qu'à faire varier la valeur de la variable
R.
R = "E:E"
x1 = Application.CountIf(Range(R), Cells(n, 2))

docm

"twinley" a écrit dans le message news:


Bonsoir,

Quand n=2, le nom qui se trouve dans la cell B2 est compté dans la
colonne E et c'est aussi un moyen de détecter sa presence, s'il est
absent c'est x1 = 0.
La formule suivante fonctionne bien.
x1 = Application.CountIf([E:E], Cells(n, 2))
et aussi
x2 = Application.CountIf([H:H], Cells(n, 2))
etc.

Mais je souhaite faire une boucle pour balayer d'autres colonnes, H, K,
N etc.

Avec une variable colemploye qui saute de 3 en 3, je sèche pour trouver
la syntaxe qui va bien. Un truc dans le style :
x1 = Application.CountIf(range(colemploye:colemploye), Cells(n, 2))

Cela ne passe pas, ainsi que les autres variantes que j'ai essayé avec
columns ou range ou [ ] avec des " et des & et des trucs et des machins.

Une aide serait grandement appréciée

--
à+twinley


Avatar
twinley
Bonjour docm,

Merci pour ton aide.
Mais le pb est déplacé sur la ligne au dessus. Je ne sais pas comment faire.
je souhaite faire mettre une variable à la place de "E:E".
La syntaxe Columns("5:5") ou Range ("5:5") ou Range ("E:E")est bonne.
Mais si je veux passer à une autre colonne, je n'arrive pas à trouver un
truc comme range (macolonne:macolonne) avec macolonne que je peux faire
bouger de 5 à 8 par exemple.
J'espère avoir été plus clair.

Bonne journée.

à+twinley

docm wrote:
Bonjour twinley.

Avec la syntaxe suivante, tu n'as qu'à faire varier la valeur de la variable
R.
R = "E:E"
x1 = Application.CountIf(Range(R), Cells(n, 2))

docm

"twinley" a écrit dans le message news:


Bonsoir,

Quand n=2, le nom qui se trouve dans la cell B2 est compté dans la
colonne E et c'est aussi un moyen de détecter sa presence, s'il est
absent c'est x1 = 0.
La formule suivante fonctionne bien.
x1 = Application.CountIf([E:E], Cells(n, 2))
et aussi
x2 = Application.CountIf([H:H], Cells(n, 2))
etc.

Mais je souhaite faire une boucle pour balayer d'autres colonnes, H, K,
N etc.

Avec une variable colemploye qui saute de 3 en 3, je sèche pour trouver
la syntaxe qui va bien. Un truc dans le style :
x1 = Application.CountIf(range(colemploye:colemploye), Cells(n, 2))

Cela ne passe pas, ainsi que les autres variantes que j'ai essayé avec
columns ou range ou [ ] avec des " et des & et des trucs et des machins.

Une aide serait grandement appréciée

--
à+twinley







Avatar
twinley
docm

ta façon de décomposer débloque la situation.

R= (macol & ":" & macol)
x1 = Application.CountIf(Range(R), Cells(n, 2))


Hier (en premier essai, j'ai essayé cette syntaxe en une ligne et ça ne
passait pas, ce matin je décompose, ça passe.
Si je contracte les deux lignes ça passe aussi.

Y a des jours ou faut pas chercher à comprendre.

Merci pour l'aide. C'est reparti.

à+twinley

twinley wrote:
Bonjour docm,

Merci pour ton aide.
Mais le pb est déplacé sur la ligne au dessus. Je ne sais pas comment
faire.
je souhaite faire mettre une variable à la place de "E:E".
La syntaxe Columns("5:5") ou Range ("5:5") ou Range ("E:E")est bonne.
Mais si je veux passer à une autre colonne, je n'arrive pas à trouver un
truc comme range (macolonne:macolonne) avec macolonne que je peux faire
bouger de 5 à 8 par exemple.
J'espère avoir été plus clair.

Bonne journée.

à+twinley

docm wrote:

Bonjour twinley.

Avec la syntaxe suivante, tu n'as qu'à faire varier la valeur de la
variable
R.
R = "E:E"
x1 = Application.CountIf(Range(R), Cells(n, 2))

docm

"twinley" a écrit dans le message news:


Bonsoir,

Quand n=2, le nom qui se trouve dans la cell B2 est compté dans la
colonne E et c'est aussi un moyen de détecter sa presence, s'il est
absent c'est x1 = 0.
La formule suivante fonctionne bien.
x1 = Application.CountIf([E:E], Cells(n, 2))
et aussi
x2 = Application.CountIf([H:H], Cells(n, 2))
etc.

Mais je souhaite faire une boucle pour balayer d'autres colonnes, H, K,
N etc.

Avec une variable colemploye qui saute de 3 en 3, je sèche pour trouver
la syntaxe qui va bien. Un truc dans le style :
x1 = Application.CountIf(range(colemploye:colemploye), Cells(n, 2))

Cela ne passe pas, ainsi que les autres variantes que j'ai essayé avec
columns ou range ou [ ] avec des " et des & et des trucs et des machins.

Une aide serait grandement appréciée

--
à+twinley