Je n'arrive pas à solutionner mon code VBA

Fermé
calyban Messages postés 1 Date d'inscription vendredi 26 septembre 2014 Statut Membre Dernière intervention 26 septembre 2014 - Modifié par pijaku le 26/09/2014 à 11:01
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 26 sept. 2014 à 11:06
Bonjour,

je suis en train de créer un formulaire personnaliser. avec NOM, PRENOM , Adresse mail,
en dessous modifier, quitter, nouveau contact.

j'ai presque fini, mais voila , ca l 'active pas et ca me met des erreurs en jaune.

je vous joint mon code, si quelqu un pouvait m'aider à comprendre...

Merci :(


Option Explicit
Dim Ws As Worksheet


Private Sub toggleButton3_Click()
Unload Me
End Sub


Private Sub UserForm1()

Dim J As Long
Dim I As Integer

Set Ws = Sheets("FORMULAIRE2") 'Attention ce nom doit correspondre au nom de votre ONGLET

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 8
Me.Controls("TextBox" & I).Visible = True 'affiche les données dans les textbox
Next I
End Sub

Private Sub ToggleButton2_Click()

End Sub
If MsgBox("Etes-vous certain de vouloir modifier ce produit ?", vbYesNo, "Demande de confirmation") = vbYes Then
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 8
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I)
End If
Next I
End If
Private Sub ToggleButton1_Click()

Dim L As Integer

If MsgBox("Etes-vous certain de vouloir INSERER ce nouveau contact ?", vbYesNo, "Demande de confirmation") = vbYes Then
L = Sheets("FORMULAIRE2").Range("a65536").End(x1Up).Row + 1
Range("A" & L).Value = TextBox1 'Insère la donnée de la liste déroulante dans la colonne A
Range("B" & L).Value = TextBox2 'Insère la donne de la textbox1 dans la colonne B
'et à suivre....
Range("C" & L).Value = TextBox3

End If
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
26 sept. 2014 à 11:06
Bonjour,

1- pourquoi utiliser des ToggleButton plutôt que des CommandButton?
2- A ton avis, ta Sub
Private Sub UserForm1()
doit et va se déclencher quand?
3- tu mets le code en dehors du Sub End Sub, cela ne fonctionnera pas :
Private Sub ToggleButton2_Click()
'ICI LA SUB
End Sub

'ICI LE CODE....
If MsgBox("Etes-vous certain de vouloir modifier ce produit ?", vbYesNo, "Demande de confirmation") = vbYes Then
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 8
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I)
End If
Next I
End If

Ben non... Comme ceci sera déjà mieux :
Private Sub ToggleButton2_Click()
If MsgBox("Etes-vous certain de vouloir modifier ce produit ?", vbYesNo, "Demande de confirmation") = vbYes Then
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 8
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I)
End If
Next I
End If
End Sub

Après, je dis ça, mais je n'ai pas regardé le code...

Et enfin, le dernier code n'est pas fini :
Private Sub ToggleButton1_Click()

Dim L As Integer

If MsgBox("Etes-vous certain de vouloir INSERER ce nouveau contact ?", vbYesNo, "Demande de confirmation") = vbYes Then
L = Sheets("FORMULAIRE2").Range("a65536").End(x1Up).Row + 1
Range("A" & L).Value = TextBox1 'Insère la donnée de la liste déroulante dans la colonne A
Range("B" & L).Value = TextBox2 'Insère la donne de la textbox1 dans la colonne B
'et à suivre....
Range("C" & L).Value = TextBox3

End If

Mais ou est donc le
End Sub
????
0