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 :
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é ?
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
MErci d'avance de votre aide
Partager