J’ai un problème dans ma création de formulaire vba

Par , le 18/06/2017 , mis à jour le 23/06/2017 - 3 minutes de lecture
Aide en ligne : dépannage informatique gratuitCatégorie: InternetJ’ai un problème dans ma création de formulaire vba
Peron, le 17/06/2017

Bonjour,

J’ai un problème dans ma création de formulaire

Voici la programmation en VBA

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("Client") '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(" Client ").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

Et quand je fais F5 j’ai à l’écran  voire la pièce jointe

Je ne comprend pas...

Merci pour votre aide
 

1 Réponses
Steve Chevillard, le 19/06/2017

Bonjour,

Désolé mais vous n'êtes pas tombé au bon endroit : nous ne sommes pas compétent en VBA, nous ne pourrons donc malheureusement pas vous aider...

Il existe cependant sur le web de nombreux forums consacrés à ce langage de programmation où vous pourrez trouver une aide efficace.

Exemples :

https://www.developpez.net/forums/f289/logiciels/microsoft-office/general-vba/

https://forum.excel-pratique.com/excel/

Bon courage pour votre formulaire VBA.

Voir les publications de l'auteur

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.