Bonjour,
J'essaye de créer un formulaire dans excel en suivant une vidéo et je dois avoir un probléme dans le code VB.
J'ai copier le code sur le site du tuto et je l'ai collé dans [userForm] .
A l'appel du formulaire (f5) j'ai un message d'erreur
Erreur de compilation
Erreur de syntaxe
J'ai une ligne en fond jaune avec une fléche au début (ligne 7)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Private Sub UserForm_Initialize()
et une ligne en fond bleu (ligne 15)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
  ComboBox2.List() = Array(«  », « M. », « Mme », « Mlle »)
Cette ligne est encodée en rouge, ainsi que d'autres lignes.
J'ai plusieurs lignes encodées en rouge alors que sur le tuto elles sont noires.Mon code est-il mal formaté?
J'ai tenté un copier/coller en formatant en VB dans "notepad"
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
 Option Explicit
 
Dim Ws As Worksheet
 
'Pour le formulaire
 
Private Sub UserForm_Initialize()
 
Dim J As Long
 
    Dim I As Integer
 
    ComboBox2.ColumnCount = 1 'Pour la liste déroulante Civilité
 
    ComboBox2.List() = Array(«  », « M. », « Mme », « Mlle »)
 
    Set Ws = Sheets(« Clients ») 'Correspond au nom de votre onglet dans le fichier Excel
 
    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 7
 
        Me.Controls(« TextBox » & I).Visible = True
 
    Next I
 
End Sub
'Pour la liste déroulante Code client
 
Private Sub ComboBox1_Change()
 
    Dim Ligne As Long
 
    Dim I As Integer
 
    If Me.ComboBox1.ListIndex = -1 Then Exit Sub
 
    Ligne = Me.ComboBox1.ListIndex + 2
 
    ComboBox2 = Ws.Cells(Ligne, « B »)
 
    For I = 1 To 7
 
        Me.Controls(« TextBox » & I) = Ws.Cells(Ligne, I + 2)
 
    Next I
 
End Sub
'Pour le bouton Nouveau contact
 
Private Sub CommandButton1_Click()
 
    Dim L As Integer
 
    If MsgBox(« Confirmez-vous l’insertion de ce nouveau contact ? », vbYesNo, « Demande de confirmation d’ajout ») = vbYes Then
 
        L = Sheets(« Clients »).Range(« a65536 »).End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
 
        Range(« A » & L).Value = ComboBox1
 
        Range(« B » & L).Value = ComboBox2
 
        Range(« C » & L).Value = TextBox1
 
        Range(« D » & L).Value = TextBox2
 
        Range(« E » & L).Value = TextBox3
 
        Range(« F » & L).Value = TextBox4
 
        Range(« G » & L).Value = TextBox5
 
        Range(« H » & L).Value = TextBox6
 
        Range(« I » & L).Value = TextBox7
 
    End If
 
End Sub
'Pour le bouton Modifier
 
Private Sub CommandButton2_Click()
 
    Dim Ligne As Long
 
    Dim I As Integer
 
    If MsgBox(« Confirmez-vous la modification de ce contact ? », vbYesNo, « Demande de confirmation de modification ») = vbYes Then
 
        If Me.ComboBox1.ListIndex = -1 Then Exit Sub
 
        Ligne = Me.ComboBox1.ListIndex + 2
 
        Ws.Cells(Ligne, « B ») = ComboBox2
 
        For I = 1 To 7
 
            If Me.Controls(« TextBox » & I).Visible = True Then
 
                Ws.Cells(Ligne, I + 2) = Me.Controls(« TextBox » & I)
 
            End If
 
        Next I
 
    End If
 
End Sub
'Pour le bouton Quitter
 
Private Sub CommandButton3_Click()
 
    Unload Me
 
End Sub