Restituer valeurs chexbox (caption) dans différentes cellules
Bonjour,
J'ai créé un userform de saisie afin que les valeurs soient restituées dans un grand tableau excel. L'utilisateur sélectionne le nom ddu client puis se place sur la ligne de ce client. Lorsqu'il clique sur le bouton formulaire, l'userform s'ouvre sur la bonne personne.
Tout se passe bien sauf pour 3 groupes de checkboxs:
J'ai utilisé des chekbox pour éviter des listes à choix multiples. Je récupère la valeur de ces chekbox dans 3 différentes colonnes sur la ligne du PDS choisi selon le groupe de chekbox. Pour chaque groupe de checkbox, les valeurs restituées sont concatanées avec un séparateur virgule dans 1 seule cellule
Seulement, je ne sais pas comment paramétrer le compteur pour que chaque groupe soit bien distinct.
En effet, les valeurs du 1er groupe s'incrémentent au 2ème groupe et celles du 1er et du 2ème groupe au 3ème groupe.
Je vous transmets en PJ mon fichier que j'ai simplifié et anonymysé qui sera certainement plus parlant.
Merci beaucoup pour l'aide que vous pourrez m'apporter.
Bonjour,
Seulement, je ne sais pas comment paramétrer le compteur pour que chaque groupe soit bien distinct.
En effet, les valeurs du 1er groupe s'incrémentent au 2ème groupe et celles du 1er et du 2ème groupe au 3ème groupe.
Je n'ai pas trop compris votre souci en fait.... Ce que vous voulez c'est si click sur la checkbox A l'info aille dans la colonne N, checkbox B en colonne O, etc.. ?
Autre point : au chargement de l'USF, pourquoi mettez-vous chaque fois une donnée vide dans chaque combobox ?
Bonjour,
Si j'ai bien compris, les problemes sont :
- L'incrementation des checkboxs les checkboxs en colonne T X et AM
- Les checkboxs restent cochées d'une personne a une autre (la liste en colonne AK également).
- Et les checkboxs ne recuperent pas les infos renseignées quand tu modifie le formulaire d'une personne.
J'ai mis des commentaires avec des "*************************************************" a l'endroit ou j'ai fait une modif.
Ton soucis principal (le n°1) est que tu utilise "Mot" alors qu'une solution aurait été d'avoir 3 variables différentes (Mot 1 / 2 / 3)
PS: Je te conseil de nommer tes checkbox / combobox / textbox .... car si un jour tu retournes faire évoluer ton userform tu vas pleurer
(Fenetre de propriété touche [F4] et tu peux utiliser Ctrl+F pour renommer en masse dans le code).
A+
Bonsoir,
Mille mercis d'avoir pris le temps de me répondre.
@Geof 52
C'est exactement ce que je recherchais Merci Merci Merci💐
Solution simple et évidente ...mais je crois que je saturais.
Je renommerrai effectivement mes objets. Le fichier joint n'est qu'une ébauche de mon projet final. Mais c'est un bon conseil.
@Dan
Les données vides dans les combo box permettent à l'utilisateur de voir rapidement s'il a rempli l'info ou non du client. En effet, le formulaire final sera utilisé une douzaine de mois et les utilisateurs le rempliront au fur et à mesure des visites à leurs clients.
Bonjour,
Les données vides dans les combo box permettent à l'utilisateur de voir rapidement s'il a rempli l'info ou non du client.
Bah non. Si elle est vide vous le voyez directement ou remplissage de vos combos.
Il n'y a jamais besoin de mettre une position vide dans ce qui est chargé dans la combo. A l'enregistrement aucune info ne sera reportée dans votre feuille
Vous auriez pu raccourcir le code Initialize aussi vu qu'il y a plusieurs combo qui ont les mêmes données.
@Geof 52
Je te conseil de nommer tes checkbox / combobox / textbox .... car si un jour tu retournes faire évoluer ton userform...
Ce n'est pas toujours une bonne idée de faire cela. Souvent vous pourriez raccourcir un code en utilisant la numérotation de l'objet au travers d'une boucle For .... Next.
Vous disposez de la propriété Controltiptext qui vous permet de savoir à quoi se rapporte l'objet en passant la souris dessus lorsque vous êtes en utilisation ou la propriété TAG aussi
Cordialement
EDIT : je vois le code dans la feuille Master. Vous pourriez le modifier comme ceci. Cela va être nettement plus rapide !
Private Sub TextBox1_Change()
With ActiveSheet
.Unprotect "data"
.ListObjects(1).Range.AutoFilter Field:=4, Criteria1:="=*" & TextBox1.Value & "*", Operator:=xlAnd
.Protect "data"
End With
End SubBonjour,
@Dan Exact,
Pour les boucles, je ne m'en sert pas souvent entre plusieurs objets mais ça peut etre bien pratique surtout avec la propriété Tag que je n'utilisais pas non plus.
Pour le Controltiptext, je ne suis pas fan de cette propriété qui pour moi "polue" l' Userform.
Merci, j'ajoute ceci a ma petite tête.
A+