Ecrire une formule en VBA

Bonjour

Je dois insérer en VBA une formule dans la colonne I d'une feuille qui se nomme DATA

la formule est a insérer pour la ligne 1 :

=SI(ESTERR(CHERCHE(" ";H1;1));GAUCHE(H1; NBCAR(H1));STXT(H1;1;TROUVE(" ";H1;1)-1))

le fonction fonctionne pas de problème, par contre je n'arrive pas a l'écrire en VBA :

Sub Liste()

For i = 1 To 1000

Sheets("DATA").Range("I" & i).FormulaLocal = "= SI(ESTERR(CHERCHE(" ";H"& i ";1));GAUCHE(H"&i"; NBCAR(H"&i "));STXT(H"&i";1;TROUVE(" ";"H"&i";1)-1))"

Next i

End Sub

D'avance merci

Julien

Bonjour

Menu Développeur -> Enregistrer une Macro

Sur ta cellule qui contient la formule tu fais F2 puis entrée

Tu arrêtes l'enregistrement

Et tu trouveras ohhhh miracle le code dans un module

Ou sinon en "FormulaLocal"

FormulaLocal = "=SI(ESTERR(CHERCHE("" "";H1;1));GAUCHE(H1; NBCAR(H1));STXT(H1;1;TROUVE("" "";H1;1)-1))"

A+

Merci pour la réponse, mais ça me donne la formule :

"=IF(ISERR(SEARCH("" "",R[-1]C[-1],1)),LEFT(R[-1]C[-1], LEN(R[-1]C[-1])),MID(R[-1]C[-1],1,FIND("" "",R[-1]C[-1],1)-1))"

je la copie dans dans mon code, mais ça marche pas, il n'y a pas la variable i dans la formule pour qu'elle participe a la boucle :

Sub Liste()

For i = 2 To 1000

Sheets("DATA").Range("I" & i).FormulaLocal = _

"=IF(ISERR(SEARCH("" "",R[-1]C[-1],1)),LEFT(R[-1]C[-1], LEN(R[-1]C[-1])),MID(R[-1]C[-1],1,FIND("" "",R[-1]C[-1],1)-1))"

Next i

End Sub

Et en plus, il me sort une erreur 1004

Julien

Rechercher des sujets similaires à "ecrire formule vba"