Bonjour,

J'effectue un satge sous Excel et j'ai un petit soucis : j'aimerai que lorsque l'utilisateur double clic dans une cellule, un formulaire s'ouvre. Ensuite, il sélectionne une valeur dans une liste déroulante puis clic sur un bouton OK. Une fenetre s'ouvre lui demandant de confirmer son choix. S'il confirme, j'aimerai que la valeur sélectionnée dans la liste soit copiée/collée dans la cellule où l'utilisateur a double cliqué.

Voici le code VB :

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
 
Public cible As String
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    cible = Target.Address
    UserForm1.Show
End Sub
Private Sub BoutonOK_Click()
 
    If MsgBox("Voulez-vous appliquer le motif " & ListBox1.Value & "?", vbYesNo) = vbYes Then
        ActiveSheet.Range(cible).Value = ListBox1.Value
    End If
 
    SendKeys "{ESC}"
    UserForm.Hide
 
End Sub
 
Private Sub UserForm_Initialize()
 
'remplissage de la zone de liste
With ListBox1
    .AddItem "ALM"
    .AddItem "ASA"
    .AddItem "ASAI"
    .AddItem "ATA"
    .AddItem "ATM"
    .AddItem "CA"
    .AddItem "CFS"
    .AddItem "CGM"
    .AddItem "FORM"
    .AddItem "GREV"
    .AddItem "JAS"
    .AddItem "MAT"
    .AddItem "QS"
End With
 
'sélectionner le premier élément de la liste
ListBox1.ListIndex = 0
 
End Sub
Le problème se trouve dans la partie Private Sub BoutonOK_Click(). Comment faire pour que la valeur sélectionnée dans la liste soit copiée/collée dans la cellule où l'utilisateur à double cliqué ?

MErci d'avance de votre aide