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

Le
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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
docm
Le #2816711
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"

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


twinley
Le #2816671
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"

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







twinley
Le #2816661
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"

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










Publicité
Poster une réponse
Anonyme