Word et Macro

Résolu
cs_chris87000 Messages postés 3 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004 - 28 juil. 2004 à 12:56
cs_chris87000 Messages postés 3 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004 - 28 juil. 2004 à 18:17
Bonjour,
Je ne connais pas Vba pour Word et je souhaite insérer dans Word de façon automatique du texte avec plus de 255 caractères. (La fonction insertion automatique ne me convient pas).
J'ai donc une feuille excel avec 2 colonnes Code et Libelle.
Je créé ma macro en mode enregistrement et ca me donne la syntaxe suivante :

Sub ins_auto_255()
'
' ins_auto_255 Macro
'
Selection.Range.InsertDatabase Format:=0, Style:=0, LinkToSource:=False, _
Connection:="Feuille de calcul entière", SQLStatement:= _
"SELECT Libelle FROM C:\ins_auto_255.xls WHERE ((Code = 'code1'))" & "", _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", DataSource:="C:\ins_auto_255.xls", From:=-1, _
To:=-1, IncludeFields:=False
End Sub

Elle marche bien. Mais comme je souhaite pouvoir insérer autre chose que ce qui correspond à code1 je la modifie de la façon suivante :

Dim Message, MyValue
Sub ins_auto_255()
'
' ins_auto_255 Macro
'
Message = "Entrez l'abréviation"
MyValue = InputBox(Message)

Selection.Range.InsertDatabase Format:=0, Style:=0, LinkToSource:=False, _
Connection:="Feuille de calcul entière", SQLStatement:= _
"SELECT Libelle FROM C:\ins_auto_255.xls WHERE ((Code = 'MyValue'))" & "", _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", DataSource:="C:\ins_auto_255.xls", From:=-1, _
To:=-1, IncludeFields:=False
End Sub

El là, ca ne marche pas.
C'est certainement basique pour quelqu'un qui connait le vba mais je n'y arrive pas.
Si quelqu'un peut me donner la solution ?
Remerciements.

2 réponses

cs_chris87000 Messages postés 3 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004
28 juil. 2004 à 18:17
Ne cherchez pas la syntaxe exacte était :
Selection.Range.InsertDatabase Format:=0, Style:=0, LinkToSource:=False, _
Connection:="Feuille de calcul entière", SQLStatement:= _
"SELECT Libelle FROM C:\ins_auto_255.xls WHERE ((Code = '" & MyValue & "'))" & "", _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", DataSource:="C:\ins_auto_255.xls", From:=-1, _
To:=-1, IncludeFields:=False
A +.
3
cs_chris87000 Messages postés 3 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004
28 juil. 2004 à 12:58
Erreur de copier coller, cest :

Message = "Entrez le code"
MyValue = InputBox(Message)
0
Rejoignez-nous