Bonjour,

Totalement débutante en VBA excel, je me retrouve bloquée depuis plusieurs jours sur un code de Jacques Boisgontier que j’aimerai adapter (et que je remercie au passage).

Voici les problèmes que je rencontre :

1) Je n’arrive pas à faire en sorte que ma listbox de destination prenne la totalité des colonnes de ma listbox de départ (j’aimerai avoir 6 colonnes).

2) Quand ma listbox de destination enregistre bien mes données de mes trois texbox, le bouton de commande retour ne m’affiche plus que deux colonnes dans la listbox de départ.

Je vous joins le code pour que cela soit plus clair.
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("BDD")
  Me.Source.List = f.Range("A2:H" & f.[A65000].End(xlUp).Row).Value
  Me.Source.MultiSelect = fmMultiSelectMulti
 
End Sub
Private Sub B_enlève_Click()
  If Me.Dest.ListCount > 0 And Me.Dest.ListIndex <> -1 Then
    Me.Source.AddItem Me.Dest
    pos = Me.Source.ListCount - 1
    Me.Source.List(pos, 1) = Me.Dest.Column(1)
    Me.Dest.RemoveItem Me.Dest.ListIndex
  End If
End Sub
Private Sub b_prend_Click()
  If Me.Source.ListIndex <> -1 And Me.Source.ListCount > 0 Then
    For i = 0 To Me.Source.ListCount - 1
    If Me.Source.Selected(i) = True Then
       Me.Dest.AddItem Me.Source.List(i)
       pos = Me.Dest.ListCount - 1
       Me.Dest.List(pos, 1) = Me.Source.List(i, 1)
    End If
   Next i
   For i = Me.Source.ListCount - 1 To 0 Step -1
    If Me.Source.Selected(i) = True Then Me.Source.RemoveItem i
   Next i
  End If
End Sub
Private Sub B_transfert_Click()
  Sheets("recup").[A2].Resize(Me.Dest.ListCount, 2) = Me.Dest.List
End Sub
Private Sub B_ajout_Click()
  Me.Dest.AddItem
  pos = Me.Dest.ListCount - 1
  Me.Dest.List(pos, 0) = Me.TextBox1
  Me.Dest.List(pos, 1) = Me.TextBox2
  Me.Dest.List(pos, 2) = Me.TextBox3
 
End Sub
Private Sub B_monte_Click()
  If Me.Dest.ListIndex <> -1 And Me.Dest.ListIndex > 0 Then
    element = Me.Dest.List(Dest.ListIndex, 0)
    element2 = Me.Dest.List(Dest.ListIndex, 1)
    element3 = Me.Dest.List(Dest.ListIndex, 2)
 
    p = Me.Dest.ListIndex
    Me.Dest.AddItem element, p - 1
    Me.Dest.List(p - 1, 2) = element3
    Me.Dest.RemoveItem Me.Dest.ListIndex
    Me.Dest.ListIndex = p - 1
  End If
End Sub
Private Sub B_descend_Click()
  If Me.Dest.ListIndex <> -1 And Me.Dest.ListIndex < Me.Dest.ListCount - 1 Then
    element = Me.Dest.List(Dest.ListIndex, 0)
    element2 = Me.Dest.List(Dest.ListIndex, 1)
    element3 = Me.Dest.List(Dest.ListIndex, 2)
 
    p = Me.Dest.ListIndex
    Me.Dest.AddItem element, p + 2
    Me.Dest.List(p + 2, 2) = element3
    Me.Dest.RemoveItem Me.Dest.ListIndex
    Me.Dest.ListIndex = p + 1
  End If
End Sub