Suppression comboBox
Bonjour à tous,
Etant nouveau sur le forum, j'espère que ma question sera posée au bon endroit !
J'ai créé un formulaire d'ajout de licencié avec notamment deux comboBox:
- comboBox 1 = code client
- comboBox 2 = civilité
Je voudrais maintenant supprimer ma combobox2 tout en conservant le reste.
Quel ligne du code VBA dois-je supprimer pour que mon formulaire marche à nouveau?
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 17
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 17
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 = TextBox1
Range("C" & L).Value = TextBox2
Range("D" & L).Value = TextBox3
Range("E" & L).Value = TextBox4
Range("F" & L).Value = TextBox5
Range("G" & L).Value = TextBox6
Range("H" & L).Value = TextBox7
Range("I" & L).Value = TextBox8
Range("J" & L).Value = TextBox9
Range("K" & L).Value = TextBox10
Range("L" & L).Value = TextBox11
Range("M" & L).Value = TextBox12
Range("N" & L).Value = TextBox13
Range("O" & L).Value = TextBox14
Range("P" & L).Value = TextBox15
Range("Q" & L).Value = TextBox16
Range("R" & L).Value = TextBox17
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 17
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
Merci d'avance pour votre aide
Bonjour Fouine, bonjour le forum,
Voici :
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
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 17
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
For I = 1 To 17
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 = TextBox1
Range("C" & L).Value = TextBox2
Range("D" & L).Value = TextBox3
Range("E" & L).Value = TextBox4
Range("F" & L).Value = TextBox5
Range("G" & L).Value = TextBox6
Range("H" & L).Value = TextBox7
Range("I" & L).Value = TextBox8
Range("J" & L).Value = TextBox9
Range("K" & L).Value = TextBox10
Range("L" & L).Value = TextBox11
Range("M" & L).Value = TextBox12
Range("N" & L).Value = TextBox13
Range("O" & L).Value = TextBox14
Range("P" & L).Value = TextBox15
Range("Q" & L).Value = TextBox16
Range("R" & L).Value = TextBox17
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
For I = 1 To 17
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
Merci ThauThème pour ta reponse rapide mais j'ai toujours une erreur
J'ai essayé d'adapter le formulaire un changeant les noms (code client = Nom/prénom) et je me dis que ça peut venir de ça.
Je mets mon fichier en pièce jointe si quelqu'un peut le modifier directement dessus, je pense que ça sera plus simple !
Bonjour,
A priori ...sans rentrer dans les détails ... ta TextBox1 ne fait partie de ta UserForm ...
Ci-joint ton fichier corrigé ...
P.S. J'adore le Tennis de Table ...!!!
Merci James007 mais toujours un message d'erreur qui va bien lol quand je veux rentrer un Nom :
"Erreur d'exécution '-2147024809 (80070057)':
Objet spécifié introuvable"
Parfait plus de message d'erreur !
A force d'essayer d'y tourner dans tous les sens je me suis perdu lol.
Pour les âmes charitables qui veulent finir de m'aider lol, voici mes derniers soucis :
- dans ma liste des noms, je ne voudrais pas voir afficher NOM/Prénom
- la date de naissance de s'affiche pas
- il y a un décalage dès le début, Rémi ARNAUD habite à Anneyron et non à Manthes par exemple
- pourquoi l'adresse mail se trouve dans la ville, l'adresse dans les points etc ...
Pas simple de se lancer la dedans quand on n'y connaît pas grand chose
Bonjour,
Ravi que cela fonctionne ...
Si tu veux un petit tuyau pour te faciliter la vie ... il est plus simple que la numérotation en séquence de chacune de tes TextBoxes se déroule dans le même ordre que celui de tes colonnes dans ta base de données ...
Re,
Ci-joint ton fichier avec les petites corrections ...
Merci merci et encore merci James007.
Ce problème là est résolu.
Je reviendrai surement sur ce forum pour finaliser les détails de mon fichier.
Re,
Content que cela fonctionne ...
Merci pour tes très gentils remerciements ...
Si tu as d'autres questions ... il ne faut pas hésiter à revenir sur le Forum ...