Modif code userform
Résolu
jc80
Messages postés
5063
Statut
Membre
-
jc80 Messages postés 5063 Statut Membre -
jc80 Messages postés 5063 Statut Membre -
Bonjour,
Dans mon fichier j'ai ajouté une colonne en A.
Ce qui fait que mes colonnes sont décalées de 1.
Depuis cette modif mon user form ne fonctionne plus.
Ci-dessous dans la rubrique "on remplit les données du tableau"
j'ai fait la modif A devient B B devient C ainsi de suite....
Que faut-il modifier pour que mon userform refonctionne normalement
Cordialement
Private Sub UserForm_Activate()
' Combobox
For L = 1 To F02.Range("A" & Rows.Count).End(xlUp).Row
Cmb_Nom.AddItem F02.Range("A" & L)
Next
For L = 6 To F02.Range("N" & Rows.Count).End(xlUp).Row
Cmb_Paiement.AddItem F02.Range("N" & L)
Next
TxtDate.Locked = True
End Sub
Private Sub CmdDate_Click()
U_Calandar.Show 1
End Sub
Private Sub CmdAjouter_Click()
'on vérifie que les champs sont bien remplis
If Cmb_Nom.Text = "" Then
MsgBox "Veuillez renseigner le nom", vbCritical, "champs manquants"
Cmb_Nom.SetFocus
Exit Sub
End If
Nlig = F01.Range("A" & Rows.Count).End(xlUp).Row + 1
' on remplit les données dans le tableau
F01.Range("B" & Nlig).Value = DateValue(TxtDate.Text)
F01.Range("C" & Nlig).Value = UCase(Cmb_Nom.Text)
F01.Range("D" & Nlig).Value = UCase(Cmb_Paiement.Text)
F01.Range("E" & Nlig).Value = TxtEntrée.Text
F01.Range("F" & Nlig).Value = TxtSortie.Text
F01.Range("M" & Nlig).Value = UCase(TxtCommentaire.Text)
' on efface le formulaire et on replace le curseur sur la case ( Nom )
TxtDate.Text = ""
Cmb_Nom.Text = ""
Cmb_Paiement.Text = ""
TxtEntrée.Text = ""
TxtSortie.Text = ""
TxtCommentaire.Text = ""
TxtDate.SetFocus
Dans mon fichier j'ai ajouté une colonne en A.
Ce qui fait que mes colonnes sont décalées de 1.
Depuis cette modif mon user form ne fonctionne plus.
Ci-dessous dans la rubrique "on remplit les données du tableau"
j'ai fait la modif A devient B B devient C ainsi de suite....
Que faut-il modifier pour que mon userform refonctionne normalement
Cordialement
Private Sub UserForm_Activate()
' Combobox
For L = 1 To F02.Range("A" & Rows.Count).End(xlUp).Row
Cmb_Nom.AddItem F02.Range("A" & L)
Next
For L = 6 To F02.Range("N" & Rows.Count).End(xlUp).Row
Cmb_Paiement.AddItem F02.Range("N" & L)
Next
TxtDate.Locked = True
End Sub
Private Sub CmdDate_Click()
U_Calandar.Show 1
End Sub
Private Sub CmdAjouter_Click()
'on vérifie que les champs sont bien remplis
If Cmb_Nom.Text = "" Then
MsgBox "Veuillez renseigner le nom", vbCritical, "champs manquants"
Cmb_Nom.SetFocus
Exit Sub
End If
Nlig = F01.Range("A" & Rows.Count).End(xlUp).Row + 1
' on remplit les données dans le tableau
F01.Range("B" & Nlig).Value = DateValue(TxtDate.Text)
F01.Range("C" & Nlig).Value = UCase(Cmb_Nom.Text)
F01.Range("D" & Nlig).Value = UCase(Cmb_Paiement.Text)
F01.Range("E" & Nlig).Value = TxtEntrée.Text
F01.Range("F" & Nlig).Value = TxtSortie.Text
F01.Range("M" & Nlig).Value = UCase(TxtCommentaire.Text)
' on efface le formulaire et on replace le curseur sur la case ( Nom )
TxtDate.Text = ""
Cmb_Nom.Text = ""
Cmb_Paiement.Text = ""
TxtEntrée.Text = ""
TxtSortie.Text = ""
TxtCommentaire.Text = ""
TxtDate.SetFocus
A voir également:
- Modif code userform
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
5 réponses
Bonjour,
Qu'est ce que vous entendez par ne fonctionne plus ?
Est ce qu'il démarre mais les combo box ne se remplisse pas ?
Est ce qu'il fait un débugage et ce cas sur quelle ligne bug t'il ?
Affiches t'il un autre message d'erreur ?
Qu'est ce que vous entendez par ne fonctionne plus ?
Est ce qu'il démarre mais les combo box ne se remplisse pas ?
Est ce qu'il fait un débugage et ce cas sur quelle ligne bug t'il ?
Affiches t'il un autre message d'erreur ?
bonjour
merci pour votre réponse
Les combos box se remplissent bien le problème survient au moment ou je valide.
toutes les combos s'effacent comme prévu mais rien ne s'inscrit dans les cellules
concernées.
Il n'a pas de messages d'erreur ni de bugs
Cordialement
merci pour votre réponse
Les combos box se remplissent bien le problème survient au moment ou je valide.
toutes les combos s'effacent comme prévu mais rien ne s'inscrit dans les cellules
concernées.
Il n'a pas de messages d'erreur ni de bugs
Cordialement
Bonjour,
Peut être ne connait-il pas FO1...
D'ailleurs, qu'est ce que FO1? Une feuille? Si oui, procédez comme ceci, en adaptant le nom de votre feuille, bien sur :
Peut être ne connait-il pas FO1...
D'ailleurs, qu'est ce que FO1? Une feuille? Si oui, procédez comme ceci, en adaptant le nom de votre feuille, bien sur :
Private Sub CmdAjouter_Click() Dim FO1 As Worksheet 'on vérifie que les champs sont bien remplis If Cmb_Nom.Text = "" Then MsgBox "Veuillez renseigner le nom", vbCritical, "champs manquants" Cmb_Nom.SetFocus Exit Sub End If 'A ADAPTER : le nom de la feuille de restitution au lieu de Feuil1 Set FO1 = Sheets("Feuil1") With FO1 Nlig = .Range("A" & Rows.Count).End(xlUp).Row + 1 ' on remplit les données dans le tableau .Range("B" & Nlig).Value = DateValue(TxtDate.Text) .Range("C" & Nlig).Value = UCase(Cmb_Nom.Text) .Range("D" & Nlig).Value = UCase(Cmb_Paiement.Text) .Range("E" & Nlig).Value = TxtEntrée.Text .Range("F" & Nlig).Value = TxtSortie.Text .Range("M" & Nlig).Value = UCase(TxtCommentaire.Text) End With ' on efface le formulaire et on replace le curseur sur la case ( Nom ) TxtDate.Text = "" Cmb_Nom.Text = "" Cmb_Paiement.Text = "" TxtEntrée.Text = "" TxtSortie.Text = "" TxtCommentaire.Text = "" TxtDate.SetFocus End Sub
Bonjour
je te joins un exemplaire
fais un essai avec l'userform tu verras qu'il y a un problème
que je n'arrive pas àrésoudre.
Cordialement
https://www.cjoint.com/?CFvlaVxUxor
je te joins un exemplaire
fais un essai avec l'userform tu verras qu'il y a un problème
que je n'arrive pas àrésoudre.
Cordialement
https://www.cjoint.com/?CFvlaVxUxor
Tu n'as rien?
Sur?
Même pas en ligne 1000???
1- va en ligne 1000 et efface les données qui se sont stockées là "par hasard",
2- dans ta macro remplace :
par :
En fait, ta colonne A est complète jusqu'en ligne 1000, donc ta macro écrit par en dessous.......
Sur?
Même pas en ligne 1000???
1- va en ligne 1000 et efface les données qui se sont stockées là "par hasard",
2- dans ta macro remplace :
Nlig = .Range("A" & Rows.Count).End(xlUp).Row + 1
par :
Nlig = .Range("C" & Rows.Count).End(xlUp).Row + 1
En fait, ta colonne A est complète jusqu'en ligne 1000, donc ta macro écrit par en dessous.......
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question