Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

  • Initiateur de la discussion Initiateur de la discussion JerCaz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
 
Re : Adapter instruction VBA avec "COUNTIF" et nom de classeur variable

Bonjour Jérome

peut être ainsi :

Code:
Range("A2000") = "=COUNTIF(R1C:R1999C,'[" & nomvariableclasseur & "]ListesAdultes'!R2C2)"

bonne journée
@+
 
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:
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…