guillemet et chaines dans les formules

S

SebG

Guest
Bonjour,


Je créé des formules en VBA et je rencontre un probléme avec la gestion des chaines.
Par exemple
la formule a obtenir est :
Code:
 =equiv('toto', zone,0)
en VBA ca donne =>
Code:
range.formula =  '=equiv(''toto'', zone,0)'
jusque là ça fonctionne.
Je veux passer 'toto' par une variable que j'appelerai : titi
donc
Code:
titi = 'toto'
....formula =  '=equiv(' & titi & ', zone,0)'
Ceci renvoi dans excel une formule qui est : =equiv(' & titi & ', zone,0)

si je fait ....formula = '=equiv('' & titi & '', zone,0)'
ca renvoi une formule pire : =equiv('' & titi & '', zone,0)
J'ai essayé titi = ''toto'', mais ca indique 'erreur de compilation'

Il doit y avoir une ruse que j'ignore encore.
Merci d'avance de votre aide.
 

myDearFriend!

XLDnaute Barbatruc
Re SegG,

Par ailleurs, si tu ne veux pas obtenir une erreur dans Excel, il te faut utiliser l'une ou l'autre de ces formulations :
      Range('A1').FormulaLocal = '=Equiv(''' & titi & ''';zone;0)'
      ' (note l'utilisation des points-virgules ci-dessus)

      '- ou -

      Range('A1').Formula = '=Match(''' & titi & ''',zone,0)'
Cordialement,
 

SebG

XLDnaute Nouveau
Excellent, ca fonctionne avec les triples guillemets :) :)

Merci pour ta réactivité

Effectivement ma syntaxe avec les ',' et les ';' était un peu mélangée dans mon message, mais pas dans mes macros ;)

Du coup je viens de découvrir 'formulaLocal', cela m'évitera de chercher les correspondances des formules.
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 957
Membres
103 990
dernier inscrit
lamiadebz