Menu

S'il vous plaît,aidez-moi ,j'ai un programme de VBA mais il m’indique "l’er

-
Bonjour,

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

Configuration: Windows / Chrome 70.0.3538.110



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

Votre réponse

3 réponses

Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
0
Merci
Quelle est la question ?
L'erruer est dans la partie qui concerne "la formulaire"
NHenry
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Quel message d'erreur ?
Commenter la réponse de NHenry
Messages postés
13806
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
17 décembre 2018
0
Merci
Bonjour,

Range(" A " & J), (" TextBox " & I), Cells(Ligne, " B ")

Pourquoi vous mettez des espaces partout??????????????????????????????????????????
Commenter la réponse de f894009
Messages postés
7063
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2018
0
Merci
bonjour, quelle est l'erreur?
f894009
Messages postés
13806
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
17 décembre 2018
-
Bonjour,
Espaces en trop presque "partout" ex:
Range(" A " & J), (" TextBox " & I), Cells(Ligne, " B ")

Ecrire comme ceci ex:
Range("A" & J), ("TextBox" & I), Cells(Ligne, "B")
Commenter la réponse de yg_be