Excel VBA listbox vers signets Word

Bonjour à tous,

je recherche un peu d'aide pour mon projet...

J'ai réalisé (à partir de tutos) un VBA qui me permet de trier et faire des recherches depuis un Google sheet, et ça fonctionne très bien.

Voila maintenant, j'aimerai que en double cliquant sur une des lignes de la Listbox, le contenu des colonnes arrive dans un document Word dans lequel j'ai placé des signets.

Mon problème est que ce n'est pas le contenu de la cellule qui est copié mais la cellule elle même avec sa couleur de fond, ce qui décale tout mon document(voir photo)

Et que ce qui est copié n'est pas le contenu de la ligne sur laquelle j'ai double cliqué mais toujours la première ligne (je sais que c'est à cause du 2 dans (cells (2,"E"......) mais je ne sais pas par quoi il faut le remplacer.

Merci d'avance

Fabrice

Voici le code pour le double clic:

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

 Call CreationCalqueWord

End Sub

et le code du module :

Option Explicit

Sub CreationCalqueWord()

Dim wdapp As Word.Application

Set wdapp = New Word.Application

    With wdapp
        .Visible = True
        .Activate
        .Documents.Add "C:\Users\Fabrice\Desktop\Dossier Temp VBA Pret\Test VBA avec word signets\Calque Word.dotx"

  Cells(2, "E").Copy
        .Selection.GoTo what:=-1, Name:="Nom"
        .Selection.Paste

  Cells(2, "F").Copy
        .Selection.GoTo what:=-1, Name:="Prénom"
        .Selection.Paste

  Cells(2, "B").Copy
        .Selection.GoTo what:=-1, Name:="DATETEST"
        .Selection.Paste

   Cells(2, "H").Copy
        .Selection.GoTo what:=-1, Name:="DDN"
        .Selection.Paste

   Cells(2, "BT").Copy
        .Selection.GoTo what:=-1, Name:="francais"
        .Selection.Paste

   Cells(2, "EC").Copy
        .Selection.GoTo what:=-1, Name:="math"
        .Selection.Paste

  Cells(2, "FR").Copy
        .Selection.GoTo what:=-1, Name:="CG"
        .Selection.Paste

   Cells(2, "FS").Copy
        .Selection.GoTo what:=-1, Name:="total"
        .Selection.Paste

   End With

End Sub
visu word visu vba

Bonjour,

Comment chargez-vous votre listbox ?

Bonjour,

je la charge via ce code: et je suis au max des colonnes, il me semble avoir lu 10 maxi

Public Sub affiche(lig)

    ListBox1.AddItem Format(Cells(lig, "B").Value, "dd/mm/yyyy")
    ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(lig, "C").Value
    ListBox1.List(ListBox1.ListCount - 1, 2) = Cells(lig, "E").Value
    ListBox1.List(ListBox1.ListCount - 1, 3) = Cells(lig, "F").Value
    ListBox1.List(ListBox1.ListCount - 1, 4) = Format(Cells(lig, "G").Value, "0#"" ""##"" ""##"" ""##"" ""##")
    ListBox1.List(ListBox1.ListCount - 1, 5) = Format(Cells(lig, "H").Value, "dd/mm/yyyy")
    ListBox1.List(ListBox1.ListCount - 1, 6) = Format(Cells(lig, "BT").Value / 2, "0.0")
    ListBox1.List(ListBox1.ListCount - 1, 7) = Format(Cells(lig, "EC").Value / 2, "0.0")
    ListBox1.List(ListBox1.ListCount - 1, 8) = Format(Cells(lig, "FR").Value, "0.0")
    ListBox1.List(ListBox1.ListCount - 1, 9) = Format(Cells(lig, "FS").Value / 100, "0%")

End Sub

Merci, mais je viens de voir que vous aviez eu la réponse par Philippe Tulliez. Inutile donc que je continue.

Bon courage pour la suite.

Bonjour

pour mettre à jour le signet Nom

wdApp.Bookmarks("Nom").Range.Text = Cells(2, "E").Value

'

Pour le double clic,

J'utilise maintenant ce code :

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
  MsgBox "Vous avez sélectionné " & Me.ListBox1.ListIndex + 1
  Call CreationCalqueWord
End Sub

Mais comment ou quel code mettre pour qu'il concerne la ligne double cliquée?

Rechercher des sujets similaires à "vba listbox signets word"