VBA Excel 2010 (formulaire personnalisé)
Résolu/Fermé
Berouma
Messages postés
10
Date d'inscription
mercredi 28 janvier 2015
Statut
Membre
Dernière intervention
17 mars 2015
-
28 janv. 2015 à 15:19
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 29 janv. 2015 à 14:01
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 29 janv. 2015 à 14:01
A voir également:
- VBA Excel 2010 (formulaire personnalisé)
- Liste déroulante excel - Guide
- Si et excel - Guide
- Tri personnalisé excel - Guide
- Formulaire de réclamation facebook - Guide
- Clé activation office 2010 gratuit - Télécharger - Sécurité
1 réponse
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
28 janv. 2015 à 16:47
28 janv. 2015 à 16:47
Bonjour,
Voilà:
L' erreur venait des déclarations de variable et de nomination de la feuille.
Dim Ws As Worksheet
Set Ws = Sheets("Clients")
Mettre toujours Option Explicit, cela oblige a déclarer ses variable
Voilà:
Option Explicit Dim Ws As Worksheet Private Sub ComboBox1_Change() Dim Ligne As Long Dim I As Integer Set Ws = Sheets("Clients") 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 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 Private Sub CommandButton2_Click() Dim Ligne As Long Dim I As Integer Set Ws = Sheets("Clients") 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 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
L' erreur venait des déclarations de variable et de nomination de la feuille.
Dim Ws As Worksheet
Set Ws = Sheets("Clients")
Mettre toujours Option Explicit, cela oblige a déclarer ses variable
29 janv. 2015 à 08:51
29 janv. 2015 à 13:16
29 janv. 2015 à 14:01
A une prochaine fois peut-être?
Le Pivert