Lien entre feuille / sheet Excel.

Fermé
Signaler
Messages postés
36
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
24 octobre 2008
-
Messages postés
36
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
24 octobre 2008
-
Bonjour,

J'ai cree une macro qui me compile des valeurs dans 500 feuilles differentes.
J'aimerais aller chercher des infos dans chacune des ces 500 feuilles.

=COUNTIF('"B2"'!$E$1:$E$10000,"F")

donc je comprend ma formule comme cela:

compter le nombre de "F" dans la colonne E1 a E10000 dans la feuille qui a le nom de la case B2

mais ca marche pas,

pouvez vous m eclaircir sur l erreur de ma formule,

Merci a tous et bonne journee

5 réponses

Messages postés
16538
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
6 décembre 2021
3 252
Bonjour,
COUNTIF n'est pas une fonction VBA mais Excel

donc, quand tu utilises des fonctions excel, tu dois écrire
Application.Worksheetfunction. Countif(...
ou + simplement
Application.Countif(...


Il faut préciser les objets que tu utilises

pour feuille: worksheets("B2")
pour des cellules (range("A1:A1000")

donc
Application.Countif(worksheets(range("B2")).range("A1:A10000"),"F")
personnelement, je mettrai range("B2") en variable de type string mais...

une autre méthode est d'utiliser "evaluate" où tu peux utiliser la syntaxe excel

[countif[.........,"F")] mais c'est assez délicat à manier
Messages postés
36
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
24 octobre 2008

merci Michel pour votre reponse mais j ai essaye avec votre formule mais ca ne fonctionne toujours pas :

=Application.Countif(worksheets(range("B2")).range("E1:E10000"),"F")

excel me donne une erreur au niveau du point de .range("E1:E10000"),"F")

tout en considerant que ceci est un fichier excel et que je n'utilise pas visual basic ni de macro,

je compile grace un autre fichier et je copie colle les 500 pages dans mon autre fichier excel pour qu il me les recompile dans un tableau plus simple c est pour ne pas melanger les 2 fichiers


merci encore de votre aide
Messages postés
16538
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
6 décembre 2021
3 252
Bonjour,

Excuses- moi, j'ai cru que ton expression "countif" était dans une macro
donc sur Excel francophone:
=NB.SI(INDIRECT(B2&"!E1:E10000");"F")
et normalement sur un anglo (aie dou note spique l'engliche excel)
=COUNTIF(INDIRECT(B2&"!E1:E10000"),"F")
tu vois pour les $...
si "F" est écrit avec d'autre caractères comme "RTF56", il faut écrire dans l'expression "*F*"
Messages postés
36
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
24 octobre 2008

et avec VLOOKUP ca peut fonctionner car j essaie egalement avec cette fonction et ca ne marche pas.

Voici ma commande entree:

=VLOOKUP($A2,INDIRECT('B1'!$B$2:$C$14),2,FALSE)

merci encore michel
Messages postés
36
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
24 octobre 2008

en fait michel,

je pense avoir besoin de la connaissance d appeller une feuille par l intermediaire d'un texte dans une case, car mon VLOOKUP en utilisant indirect ne fonctionne pas,

donc je ne comprend pas ou ca bloque :

=VLOOKUP($A2,INDIRECT(B1&"!$B$2:$C$14"),2,FALSE)

reponse a cette fonction c est #REF


la partie indirect doit etre mal ecrite je dois avoir un soucis