Bonjour à toute la communauté !!
Je suis nouveau sur ce forum et je débute aussi depuis quelques jours le language VBA donc j'espère que j'arriverai à trouver ici la solution à mon problème.
Le problème que je rencontre est à propos d'une ListBox. J'aimerai exporter depuis excel LES lignes sélectionnées par l'utilisateur d'une ListBox vers un signet se trouvant dans un document word déjà ouvert. J'arrive à exporter une ligne de la listBox vers le signet Word mais pas plusieurs lignes de la listBox. Quel est le code VBA qu'il faut écrire pour pouvoir exporter toutes les lignes sélectionnées par l'utilisateur ?
Je joins une capture d'écran du problème
Merci d'avance pour l'aide que vous pourrez m'apporter. En espérant que certains pourront m'aider
Donc vous avez su créer l'objet Wdoc représentant le document Word et le code VBA du genre :
VB:
Wdoc.Bookmarks("toto").Range = x
toto étant le nom du signet.
Alors complétez ce code ainsi :
Code:
With ActiveSheet.OLEObjects("ListBox1").Object
For i = 0 To .ListCount - 1
If .Selected(i) Then x = x & vbLf & .List(i)
Next
End With
x = Mid(x, 2)
Wdoc.Bookmarks("toto").Range = x
Si vous n'y arrivez pas joignez les fichiers et votre macro.
Donc vous avez su créer l'objet Wdoc représentant le document Word et le code VBA du genre :
VB:
Wdoc.Bookmarks("toto").Range = x
toto étant le nom du signet.
Alors complétez ce code ainsi :
Code:
With ActiveSheet.OLEObjects("ListBox1").Object
For i = 0 To .ListCount - 1
If .Selected(i) Then x = x & vbLf & .List(i)
Next
End With
x = Mid(x, 2)
Wdoc.Bookmarks("toto").Range = x
Si vous n'y arrivez pas joignez les fichiers et votre macro.
Merci de votre retour rapide et efficace !! J'ai intégré votre partie de code à ma macro et elle marche parfaitement !
Cependant, quelle est la fonctionnalité de " x = Mid(x , 2) ?
Merci encore à vous pour cette précieuse aide et bonne continuation !!