S
stid59
Guest
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 que j'ai créé :
Private Sub BoutonOK_Click()
If MsgBox("Voulez-vous appliquer le motif " & ListBox1.Value & "?", vbYesNo) = vbNo Then
End
Else: Dim motif As String
motif = ListBox1.Value
motif.Select
motif.Copy
Range("G5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Unload UserForm1
End If
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 Else de 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 pour votre aide.
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 que j'ai créé :
Private Sub BoutonOK_Click()
If MsgBox("Voulez-vous appliquer le motif " & ListBox1.Value & "?", vbYesNo) = vbNo Then
End
Else: Dim motif As String
motif = ListBox1.Value
motif.Select
motif.Copy
Range("G5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Unload UserForm1
End If
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 Else de 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 pour votre aide.