Adapter instruction VBA avec "COUNTIF" et nom de classeur variable

JerCaz

XLDnaute Occasionnel
Bonjour le forum,

Je viens vers vous afin de trouver une bonne âme qui pourra m'aider à résoudre un problème existentiel... (lol)

J'ai réalisé (avec votre aide) un classeur qui, par macro, extrait des données et les exporte dans un nouveau classeur. Le nom de ce nouveau classeur (des noms de services hospitaliers) est généré par une variable.

Dans le même temps, je vais chercher des infos pour recréer, toujours en VBA, des compteurs qui me permettent de générer des statistiques.
Mais je suis confronté à un problème: je dois créer par macro ces compteurs, qui doivent aller chercher des infos dans des listes de différents classeurs. (désolé si ce que je dis n'est pas très français... ou du moins intelligible.

Bref...
j'ai mon instruction VBA qui ressemble à ça:
Code:
Range("A2000") = "=COUNTIF(R1C:R1999C,'[statistiques service social 2010.xls]ListesAdultes'!R2C2)"

Je souhaiterais pouvoir remplacer le [statistiques service social 2010.xls] par une variable, mais je ne sais pas comment faire... Car la particularité de "=COUNTIF(...)" est de recréer une formule compréhensible par excel (du style "=NB.SI(...)"). Et je n'ai pas l'impression que excel (en dehors du VBA) apprécie.

Si besoin, je peux épurer un exemple et le mettre en ligne pour vous aider à comprendre mon problème...
Est-ce tout simplement possible?


Donc, si quelqu'un a une petite idée de comment faire, je suis preneur!

Je vous remercie par avance de l'aide que vous pourrez m'apporter.

Très cordialement,



Jérôme.
 

Odesta

XLDnaute Impliqué
Re : Adapter instruction VBA avec "COUNTIF" et nom de classeur variable

Bonjour

La logique d'une formule est d'envoyer une 'string' qui sera interprétée et transformée en instruction VBA en francais. On peut donc envoyer une string que l'on compose soit-même !

Range("A2000") = "=COUNTIF(R1C:R1999C,'[statistiques service social 2010.xls]ListesAdultes'!R2C2)"

Peut donc devenir :
dim VARIABLE as string
VARIABLE = "'[statistiques service social 2010.xls]ListesAdultes'"
Range("A2000") = "=COUNTIF(R1C:R1999C," & VARIABLE & "!R2C2)"

ou tout autre combinaison de string qui vous arrange

Cordialement

Olivier

EDIT : Bonjour Pierrot, désolé du téléscopage
EDIT 2 : Orthographe
 
Dernière édition:

JerCaz

XLDnaute Occasionnel
Re : Adapter instruction VBA avec "COUNTIF" et nom de classeur variable

Re-bonjour le Forum,
Bonjour Pierrot93, Odesta,

Je vous remercie pour votre aide!
Mon gros problème: mon niveau de connaissances en VBA vraiment restreint!

Grace à vous, je progresse.
Donc, un très grand merci à vous 2 (et au forum) pour votre aide et surtout vos explications, ça me permet d'avancer!

Cordialement,

Jérôme.
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 332
Membres
103 188
dernier inscrit
evebar