Ecrire une formule dans une cellule en VBA

Bonjour à Tous et à toute ,

j'ai écrit une formule sur Excel et j'aimerai la générer automatiquement dans VBA dans une cellule et j'ai à chauque un message d'erreur 1004;

voici mon code

Range("R2").Select

ActiCell.value =SI(ET(GAUCHE($A2;4)="GEST";GAUCHE(E2;1)="6");"Solucia Gestion";SI(ET(GAUCHE($A2;4)="SERV";GAUCHE(E2;1)="6");"Solucia Services";SI(ET(GAUCHE(A2;6)="TRANSF";GAUCHE(E2;1)="9");"Solucia PJ";"Judicial")))

J'ai aussi éssayer

Range("R2").Formula = SI(ET(GAUCHE($A2;4)="GEST";GAUCHE(E2;1)="6");"Solucia Gestion";SI(ET(GAUCHE($A2;4)="SERV";GAUCHE(E2;1)="6");"Solucia Services";SI(ET(GAUCHE(A2;6)="TRANSF";GAUCHE(E2;1)="9");"Solucia PJ";"Judicial")))

Merci de me dire est mon erreur svp. Merci par avance

Hello,

L’utilisation de .formula requiert l’utilisation de guillemets dans la formule.

Essai ceci :

Range("R2").Formula = “=SI(ET(GAUCHE($A2;4)="GEST";GAUCHE(E2;1)="6");"Solucia Gestion";SI(ET(GAUCHE($A2;4)="SERV";GAUCHE(E2;1)="6");"Solucia Services";SI(ET(GAUCHE(A2;6)="TRANSF";GAUCHE(E2;1)="9");"Solucia PJ";"Judicial")))”

A+,
Kilian

Bonjour,

Sans VBA, votre formule est au point dans la cellule ?

Merci à Tous mais le problème persiste j'ai erreur de compilation comme message

Est-ce que la formule de Kilian fonctionne sans VBA ? (sous entendu : dans la cellule)

Bonjour Eric,

Oui c’est moi qui ai rédigé la formule et elle fonctionne bien sans VBA

Dans ce cas, pour traduire une formule en VBA, sélectionnez la cellule, ouvrez la fenêtre exécution avec Ctrl-G dans l'éditeur VBA, et tapez la formule dans la fenêtre :

? Activecell.Formula

Eric, javais déjà essayé ça

Range("R2").Select

ActiCell.value = "SI(ET(GAUCHE($A2;4)="GEST";GAUCHE(E2;1)="6");"Solucia Gestion";SI(ET(GAUCHE($A2;4)="SERV";GAUCHE(E2;1)="6");"Solucia Services";SI(ET(GAUCHE(A2;6)="TRANSF";GAUCHE(E2;1)="9");"Solucia PJ";"Judicial")))"

et ça ne fonctionne pas toujours

J'ai mis la formule de Kilian en R2, et j'ai obtenu cette formule dans la fenêtre exécution

Activecell.Formula
=IF(AND(LEFT($A2,4)="GEST",LEFT(E2,1)="6"),"Solucia Gestion",IF(AND(LEFT($A2,4)="SERV",LEFT(E2,1)="6"),"Solucia Services",IF(AND(LEFT(A2,6)="TRANSF",LEFT(E2,1)="9"),"Solucia PJ","Judicial")))

Votre code doit donc être :

  Range("R2").Formula = "=IF(AND(LEFT($A2,4)=""GEST"",LEFT(E2,1)=""6""),""Solucia Gestion"",IF(AND(LEFT($A2,4)=""SERV"",LEFT(E2,1)=""6""),""Solucia Services"",IF(AND(LEFT(A2,6)=""TRANSF"",LEFT(E2,1)=""9""),""Solucia PJ"",""Judicial"")))"

Nb : Il faut doubler les guillemets à l'intérieur de la formule.

Merci Eric ça fonctionne parfaitement Bon dimanche

Rechercher des sujets similaires à "ecrire formule vba"