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

Par , le 17/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.

Commentaires

Laisser un commentaire

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