Lien entre feuille / sheet Excel.

Fermé
colox88 Messages postés 36 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 24 octobre 2008 - 16 oct. 2008 à 11:09
colox88 Messages postés 36 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 24 octobre 2008 - 24 oct. 2008 à 14:38
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
A voir également:

5 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
16 oct. 2008 à 11:33
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
0
colox88 Messages postés 36 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 24 octobre 2008
17 oct. 2008 à 09:06
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
-1
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
17 oct. 2008 à 09:35
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*"
-1
colox88 Messages postés 36 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 24 octobre 2008
22 oct. 2008 à 15:26
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
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
colox88 Messages postés 36 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 24 octobre 2008
24 oct. 2008 à 14:38
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
-1