Liste déroulante dans userform
Résolu/Fermé
Looping38
Messages postés
92
Date d'inscription
samedi 22 octobre 2016
Statut
Membre
Dernière intervention
20 juillet 2020
-
31 mai 2018 à 17:44
yoda - 5 juin 2018 à 18:07
yoda - 5 juin 2018 à 18:07
A voir également:
- Combobox1_change()
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Supprimer liste déroulante excel - Forum Excel
- Supprimer une liste déroulante - Forum Word
- Effacer liste déroulante - Forum Réseaux sociaux
1 réponse
Bonjour
D'une part, ta boucle pour accéder aux textbox ne marche pas parce que leur nom n'est pas de la forme TextBox1, TextBox2, ...,donc tu ne peux pas utiliser Me.Controls("TextBox" & I)
Il faut soit utiliser le nom exact (ex: TextBox_Prenom.Text="QuelqueChose"), soit trouver une autre astuce pour indexer les textbox.
D'autre part, ton tableau a bien 38 colonnes, mais ton Userform4 a 30 textbox et 3 combobox, alors...
Essaye déjà de remédier à ça, pour la suite on verra
A+
D'une part, ta boucle pour accéder aux textbox ne marche pas parce que leur nom n'est pas de la forme TextBox1, TextBox2, ...,donc tu ne peux pas utiliser Me.Controls("TextBox" & I)
Il faut soit utiliser le nom exact (ex: TextBox_Prenom.Text="QuelqueChose"), soit trouver une autre astuce pour indexer les textbox.
D'autre part, ton tableau a bien 38 colonnes, mais ton Userform4 a 30 textbox et 3 combobox, alors...
Essaye déjà de remédier à ça, pour la suite on verra
A+
1 juin 2018 à 09:34
J'ai fait les modifs de noms de textbox. J'ai toujours l'erreur de type "variable objet ou variable de bloc with" non définie" lorsque j'ouvre la liste déroulante Nom : .
L'erreur peut-elle venir du fait que le bout de VBA devait utiliser une liste déroulant alphanumérique (N° de client), alors que je souhaite faire appel au nom du client?
D'autre part, j'ai toujours le problème de liste prédéfinie (M, Mme, Mlle).
encore merci de ton aide.
Le fichier modifié
https://www.cjoint.com/c/HFbhDEPKhZM
1 juin 2018 à 17:46
Excuses pour le retard.
Il y a encore des erreurs dans les noms des objets TextBox et ComboBox
Je remets ta liste dans l'ordre, tu verra toi même les erreurs
Il faut que la numerotation des TextBox se suive (sans trou, ex. il manque le 3, on saute de 31 à 36)
Il ne peut pas y avoir deux noms identiques (2 fois combobox2)
Range("C" & L).Value = ComboBox1 ' Nom
Range("A" & L).Value = ComboBox2 'civilités
Range("L" & L).Value = ComboBox2 ' Nom (Masqué derière la Combobox1)
Range("AF" & L).Value = ComboBox3 ' Situation familiale
Range("B" & L).Value = TextBox2 ' Prénom
Range("D" & L).Value = TextBox4 ' Siret
Range("E" & L).Value = TextBox5 'APE
Range("F" & L).Value = TextBox6 ' N° SS
Range("G" & L).Value = TextBox7 ' Raison sociale
Range("H" & L).Value = TextBox8 'Adresse
Range("AG" & L).Value = TextBox8 ' Adresse
Range("I" & L).Value = TextBox9 ' Code Postal
Range("AH" & L).Value = TextBox9 ' Code postal
Range("J" & L).Value = TextBox10 ' Ville
Range("AI" & L).Value = TextBox10 ' Ville
Range("K" & L).Value = TextBox11 ' Prénom (masqué derière la Textbox2)
Range("M" & L).Value = TextBox13 ' Date de naissance
Range("N" & L).Value = TextBox14 ' Prénom conjoint
Range("O" & L).Value = TextBox15 ' Nom conjoint
Range("P" & L).Value = TextBox16 ' DDN Conjoint
Range("Q" & L).Value = TextBox17 ' Prénom enf 1
Range("R" & L).Value = TextBox18 ' Nom enf 1
Range("S" & L).Value = TextBox19 ' DDN enf 1
Range("T" & L).Value = TextBox20 ' Prénom enf 2
Range("U" & L).Value = TextBox21 ' Nom enf 2
Range("V" & L).Value = TextBox22 ' DDN enf 2
Range("W" & L).Value = TextBox23 ' Prénom enf 3
Range("X" & L).Value = TextBox24 ' Nom enf 3
Range("Y" & L).Value = TextBox25 ' DDN enf 3
Range("Z" & L).Value = TextBox26 ' Prénom enf 4
Range("AA" & L).Value = TextBox27 ' Nom enf 4
Range("AB" & L).Value = TextBox28 ' DDN enf 4
Range("AC" & L).Value = TextBox29 ' Prénom enf 5
Range("AD" & L).Value = TextBox30 ' Nom enf 5
Range("AE" & L).Value = TextBox31 ' DDN enf 5
Range("AJ" & L).Value = TextBox36 ' Profession
Range("AK" & L).Value = TextBox37 ' Statut
Range("AL" & L).Value = TextBox38 ' Rémunération
Il faut initialiser Ws
Corrige ton code
A+
1 juin 2018 à 23:58
J'ai fait ce que tu m'a dis.
Ca plante toujours....
N'arrivant pas à faire fonctionner la liste déroulante des "Civilités" (combobox2), si je la remplace par une textBox, je dois commencer à 1, ou je peux lui donner la textBox37?
Si je dois commencer à 1, alors je dois renommer toutes les textbox.
La saisi d'un nouveau contact marche, à condition de ne pas saisir de nom commençant par la même lettre qu'un existant dans la liste, sinon plantage.
J'ai pas pu testé les autres boutons.
Merci d'avance de ta contribution
Voila le fichier MAJ.
https://www.cjoint.com/c/HFbv5yaHlWM
2 juin 2018 à 01:11
Juste une petite correction dans Sub ComboBox1_Change(), tu dois faire stopper ta boucle à 36 puisqu'il y a 36 textbox
En choisissant un nom dans combobox1 tu remplis toutes les textbox
Tu as une inversion entre civilité et prénom
pour la Sub CommandButton2_Click() tu dois faire stopper ta boucle à 36
par contre les infos ne se mettent pas dans les bonnes cellules, vérifie bien les index de ligne et colonne
pour entrer un nouveau contact, commence par effacer toutes les textbox (c'est là que tu dois initialiser la combobox2 civilité) et sert toi du bouton modifier contact pour enregistrer les données à la fin du tableau.
voilà je te laisse travailler un peu
A+
2 juin 2018 à 09:37
J'ai travaillé sur le fichier et apporté quelques modifs.
Ça marche plutôt bien sauf pour le bouton Modifier. En effet, lorsque j'apporte une modification à un client, cela ajoute un nouveau client sans en reprendre le nom.
Le fichier.
Merci.
https://www.cjoint.com/c/HFchLxchxCM