Bonjour à tous,
Je sais qu'il y a déjà une conversation à ce sujet :
http://www.developpez.net/forums/d14...-d-formulaire/
Malheureusement je n'arrive pas à traduire ces codes selon mes besoins (débutante encore en VBA)
J'ai un userform de cette forme, voir ci-dessous :
Qui affiche des enregistrements selon les informations suivantes :
Et voici l'onglet "Evénements" de référence des enregistrements :
J'ai déja réaliser plusieurs code, pour l'affichage et pour fermer l'userform :
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 Private Sub UserForm_Initialize() Dim J As Long Dim I As Integer ComboBox1.ColumnCount = 1 ComboBox1.List() = Array("Obligation", "Projet", "Communication Equipe", "Divertissement", "Autre") ComboBox2.ColumnCount = 2 ComboBox2.List() = Array("Toute l'équipe", "Comptabilité Fournisseurs", "Comptabilité Générale", "Trésorerie") ComboBox3.ColumnCount = 3 ComboBox3.List() = Array("Toutes sociétés", "237", "324") Set Ws = Sheets("Evénements") For I = 1 To 6 Me.Controls("TextBox" & I).Visible = True Next I End SubAinsi, voici ma demande,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub CommandButton3_Click() Unload Me End Sub
je recherche deux codes :
le premier qui me permettrait de modifier les informations de l'userform en cliquant sur "CommandButton2"
le second qui me permettrait de supprimer l'enregistrement de la colonne A jusqu'à la colonne N dans l'onglet "Evénements", en cliquant sur "CommandButton4"
J'espère avoir été assez clair pour la compréhension !
De plus j'ajoute le code pour l'affichage des événements :
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 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Dim WsEvent As Worksheet Dim RowEvent As Single Dim rech1 As String Dim rech2 As String Dim rech3 As String Dim rech4 As String Dim rech5 As String Dim rech6 As String Dim rech7 As String Dim rech8 As String If Target.Row < 6 Then Exit Sub If Target.Row > 25 Then Exit Sub If Target.Column < 4 Then Exit Sub If Target.Column > 64 Then Exit Sub Set WsEvent = Sheets("Evénements") With WsEvent 'Fais une recherche dans la colonne 3 de la feuille Evenement de la valeur de la cellule sur laquelle tu as RightClic RowEvent = .Columns(2).Find(Target.Value, , , , xlByColumns, xlPrevious).Row 'Si RowEvent renvoie un truc cohérent (une ligne entre 2 et 199), je récupère la valeur des colonne 3/4/5/6/7 dans les variables rech1/2/3/4/5 If RowEvent > 1 And RowEvent < 200 Then rech1 = .Cells(RowEvent, 5).Value rech2 = .Cells(RowEvent, 6).Value rech3 = .Cells(RowEvent, 7).Value rech4 = .Cells(RowEvent, 8).Value rech5 = .Cells(RowEvent, 9).Value rech6 = .Cells(RowEvent, 4).Value rech7 = .Cells(RowEvent, 10).Value rech8 = .Cells(RowEvent, 11).Value 'Affiche le msgbox If MsgBox("Catégorie : " & rech1 & vbCrLf & "Action : " & rech2 & vbCrLf & "Commentaire : " & rech3 & vbCrLf & "Service : " & rech4 & vbCrLf & "Société(s) : " & rech5 _ & vbCrLf & vbCrLf & "Voulez-vous modifier cet évènement ?", vbDefaultButton1 + vbYesNo) = vbYes Then UserForm2.TextBox6.Value = RowEvent UserForm2.ComboBox1.Value = rech6 UserForm2.TextBox1.Value = rech1 UserForm2.ComboBox2.Value = rech4 UserForm2.TextBox2.Value = rech2 UserForm2.ComboBox3.Value = rech5 UserForm2.TextBox3.Value = rech3 UserForm2.TextBox4.Value = rech7 UserForm2.TextBox5.Value = rech8 UserForm2.Show End If Else MsgBox "Aucun évènement est enregistré à cette date" End If End With
Merci d'avance pour vos réponses
Bonne journée à tous![]()









Répondre avec citation






Partager