Variables et utilisation opérateur concaténation &

Résolu
Bonjour,

Voici ma macro
il y a une boucle for en amont

met = LCase(Left(sh.Name, 2)) '=>c'est une variable qui change en fonction des onglets   utilisés (j'en ai une 20aine...)

If Range("ai" & i).Value Like "*ca*" Then

  met & _ca = met & _ca+1 '=>une nouvelle variable qui doit s'appeler ch_ca dans le cas où met=ch

End If


Sauf que j'ai une box qui me dit "erreur de compilation: attendu:expression" et je n'arrive pas à obtenir la bonne expressions.
Le but est de compter le nombre d'occurences de certaines chaines de caractères dans tous les onglets de mon fichier.

Merci d'avance

1 réponse

  1. Bonjour,

    Sur quelle ligne se produit l'erreur ?

    Range("ai" & i) n'est pas une expression correcte

    On ne peut pas créer une variable (met & _ca) et lui affecter une valeur en cours d'exécution.
    1. l'erreur est sur met & _ca.
      "Range("ai" & i) n'est pas une expression correcte " =>si car j'utilise la colonne AI
    2. Autant pour moi pour Range("AI") ...

      Par contre la 2ème remarque répond à ta question.
    3. merci,
      y a-t-il une solution autre que celle de me "palucher" les variables une par une ? j'en ai 14*5=70...
    4. tant pis j'ai trouvé comment faire autrement.

      merci quand même =)
    5. Ca dépend de ce que fait de cette variable par la suite.

      Sinon, tu peux créer une classe et utiliser cette varaible comme un objet.