Variables et utilisation opérateur concaténation &

Résolu
geo3701 Messages postés 60 Statut Membre -  
geo3701 Messages postés 60 Statut Membre -
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. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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.
    0
    1. geo3701 Messages postés 60 Statut Membre 1
       
      l'erreur est sur met & _ca.
      "Range("ai" & i) n'est pas une expression correcte " =>si car j'utilise la colonne AI
      0
    2. Polux31 Messages postés 7219 Statut Membre 1 204
       
      Autant pour moi pour Range("AI") ...

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

      merci quand même =)
      0
    5. Polux31 Messages postés 7219 Statut Membre 1 204
       
      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.
      0