Bonjour à tous,
Tout d'abord enchanté de vous rencontrer, il s'agit de mon premier message sur ce forum.
Je suis désolé de vous déranger, j'aurai aimé résoudre le problème par moi même mais étant très débutant en VBA je suis complètement perdu.
Actuellement en stage dans un hôpital (oui, je ne suis pas informaticien^^) , on m'as demander de faire un fichier globale pour le service qui prendrait toute les études dont nous somme le promoteur.
On a réaliser une première base de donnée, mais on aurait aimer facilité l'ajout d’études (la macro est déjà fonctionnelle) mais aussi un bouton modifier (Rien n'est fonctionnelle) comme ça on peut verrouiller la base de donnée et ils ne peuvent rien supprimé (uniquement le pharmacien aura les codes).
Nous avons trouvé un code pour le bouton modifier mais il n'utilisait que des textbox, mais à certain emplacement nous aimerions ajouter des combobox.
Seul problème, text box et combobox ne se suivent pas dans l'ordre, du coup je ne sais comment faire pour modifier la ligne via textbox et combobox.
Voici le bout de code et je vous laisse le fichier excel en pièce jointe pour voir a quoi ça ressemblerai :
Je sais qu'actuellement le code ne prend pas en compte les combobox, j'aurai penser a rajouter genre
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 Option Explicit Dim Ws As Worksheet Private Sub ComboBox1_Change() ' Nom fournisseur Dim Ligne As Long Dim I As Integer If Me.ComboBox1.ListIndex = -1 Then Exit Sub Ligne = Me.ComboBox1.ListIndex + 2 For I = 1 To 17 Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1) Next I End Sub Private Sub ComboBox8_Change() End Sub Private Sub CommandButton1_Click() ' Valider Dim Ligne As Long Dim I As Integer Dim myPassword As String myPassword = "Lise1234" ThisWorkbook.Sheets("études").Unprotect Password:=myPassword If MsgBox("Etes-vous certain de vouloir MODIFIER cette étude ?", vbYesNo, "Demande de confirmation") = vbYes Then 'condition : si oui au message If Me.ComboBox1.ListIndex = -1 Then Exit Sub Ligne = Me.ComboBox1.ListIndex + 2 For I = 1 To 17 If Me.Controls("TextBox" & I).Visible = True Then Ws.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I) End If Next I MsgBox ("Etude modifiée") 'Vous informant que le présent contact est insérer dans votre tableau Excel. Unload Me ' Vide et ferme l'Userform ( formulaire) ThisWorkbook.Sheets("études").Protect Password:=myPassword End If End Sub Private Sub CommandButton2_Click() Unload Mod_Fournisseur End Sub Private Sub Label1_Click() End Sub Private Sub TextBox1_Change() End Sub Private Sub TextBox7_Change() End Sub Private Sub UserForm_Initialize() Dim J As Long Dim I As Integer Set Ws = Sheets("études") With Me.ComboBox1 For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row .AddItem Ws.Range("A" & J) Next J End With For I = 1 To 17 Me.Controls("TextBox" & I).Visible = False ReDim Preserve kase(I) Set kase(I).Bouton = Me.Controls("CheckBox" & I) Next I End Sub
Je vous remercie par avance pour l'aide que vous pourriez m'apporter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim Y As Integer et utiliser le meme code que I pour les combobox mais vu que c'est sencer suivre A, B, C ,D , E , F ,.... Je ne pense pas que ça marchera
Partager