Contenu de variable précédé de @

Bonjour

Je suis confronté à un problème de contenu de variable dans une formule que je compose en vba

Lorsque je passe la valeur directement,soit " CCL", la formule dans B2) fonctionne correctement

=SI(C2="CCL";1;SI(C2="Cie";2;SI(ET(C3="Cie";OU(F2<>"";G2<>""));3;4)))

et je la recopie vers le bas et j'ai les bons résultats

Lorsque j'affecte cette valeur à une variable Vcie définie comme string, le cntenu de cette variable devient @CCL et j'ai un résultat en erreur

=SI(C2=@CCL;1;SI(C2="Cie";2;SI(ET(C2="";OU(F2<>"";G2<>""));3;4)))

Ci joint mon fichier avec la macro

Meric d'avance pour votre aide

Cordialement

FINDRH

7form-coince.xlsm (16.02 Ko)

Bonjour

la ligne qui coince c'est parce que il n'y avait que " de chaque coté de Vcie alors que "" produit des " dans la cellule

    'qui coince
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[1]="" & Vcie & "",1,IF(RC[1]=""Cie"",2,IF(AND(RC[1]="""",OR(RC[4]<>"""",RC[5]<>"""")),3,4)))"

A plus sur le forum

Bonjour,

tu dois mettre les " dans ta formule

Public Vcie As String

Sub Macro3()
'
Vcie = "CCL"

Range("B2").Select

'   qui marche
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[1]=""CCL"",1,IF(RC[1]=""Cie"",2,IF(AND(R[1]C[1]=""Cie"",OR(RC[4]<>"""",RC[5]<>"""")),3,4)))"

    'qui coince

    ActiveCell.FormulaR1C1 = _
        "=IF(RC[1]=""" & Vcie & """,1,IF(RC[1]=""Cie"",2,IF(AND(RC[1]="""",OR(RC[4]<>"""",RC[5]<>"""")),3,4)))"

    Range("B2").Copy Destination:=Range("b3:b17")

End Sub

Merci beaucoup les noctambules

!!!

Ces guillemets sont une vraie plaie mais je vais bien noter votre réponse qui me sort une belle épine du pied

Encore merci et bonne nuit

FINDRH

Rechercher des sujets similaires à "contenu variable precede"