VBA EXCEL Formulaire : prénom et initiales

Fermé
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015 - Modifié par chrisdemontigny le 27/12/2012 à 21:28
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 - 31 déc. 2012 à 19:00
Bonjour,

j'ai créé deux colonnes :
- la première regroupe des prénoms de collaborateur
- la seconde regroupe leurs initiales
Evidemment, pour une ligne, une personne a son prénom dans la 1ère colonne et ses initiales dans la 2nde colonne.

Je veux créer un formulaire (vous le trouverez dans le fichier joint: http://cjoint.com/12dc/BLBrLZiOKTJ.htm), qui me fasse choisir un prénom dans un combobox et m'affiche, en conséquence, les initiales correspondantes dans l'autre combobox.
J'espère avoir été clair.

J'étais parti, de manière aventureuse et avec mes maigres connaissances de vba, dans le code suivant qui est resté dans la fenêtre de code du fichier joint.

Cela m'affiche une erreur 1004. Je ne sais jamais géré ce type d'erreur; est-ce que qqun peut m'aider sur ce point?

Sachant qu'un autre code permet d'aller chercher les données de la feuille, voici le code commencé :
sub Combobox1_change()
dim val1 as integer
if combobox1.value=thisworkbook.sheets("Feuil1").cells(val1,1).value then
combobox2.value=thisworkbook.sheets("Feuil1").cells(val1,2).value
end if
end sub

C'est la ligne du "if" qui bloque.

Voilà, en espérant avoir été clair.

Merci par avance pour votre aide
A voir également:

10 réponses

Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
27 déc. 2012 à 23:18
Bonjour,
Regarder si c'est dans le bon sens : https://www.cjoint.com/?3LBxr6NMISk
0
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015
27 déc. 2012 à 23:34
merci pour ta réponse.
Je ne connais pas trop ces écritures de code. Je reposterai peut-être un message si je ne comprends pas tout.
Bonne soirée
0
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015
29 déc. 2012 à 19:32
Bonjour Le Pingou,

J'ai remplacé les initiales par des numéros de matricule.
Cela me met une erreur d'exécution 380 qui m'indique une valeur de propriété non valide.

Peux-tu m'aider?
Pour info, j'utilisais ton code dans un autre fichier et je me suis rendu compte que c'est les nombres qui créait cette erreur.

As-tu une idée pour éviter cette erreur sachant que je veux mettre absolument des chiffres?

Merci par avance
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
Modifié par Le Pingou le 29/12/2012 à 21:57
Bonjour,
Normalement il ne devrait pas y avoir de problème.
Pouvez-vous mettre le fichier tel qu'il est sur https://www.cjoint.com/ et poster le lien !


Salutations.
Le Pingou
0
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015
29 déc. 2012 à 23:08
En fait, j'ai juste repris votre lien et j'ai remplacé les initiales par des nombres. Vous pouvez donc reprendre votre propre lien...
Cordialement
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 249
29 déc. 2012 à 23:00
Bonjour

J'ai l'impression que tu compares des patates et des carottes.

if combobox1.value=thisworkbook.sheets("Feuil1").cells(val1,1).value then
combobox1 est du texte, .cells(val1,1) est du numérique d'après ce que tu dis.
Essaie avec :
cdbl(combobox1.value)=thisworkbook.sheets("Feuil1").cells(val1,1).value then

eric
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
Modifié par Le Pingou le 29/12/2012 à 23:19
Bonjour eriiic,
Pour information ces lignes de code ne sont plus utilisées dans celui que j'ai transmis avec le fichier.
Amicale salutaions
Le Pingou
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 249
30 déc. 2012 à 00:34
Salut le pingou,

Désolé, j'aurai pu regardé...
Bonnes fêtes de fin d'année :-)
eric
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
Modifié par Le Pingou le 30/12/2012 à 15:40
Merci eriiic, tous mes voeux pour l'an nouveau.
Le pigou
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
Modifié par Le Pingou le 29/12/2012 à 23:21
Bonjour chrisdemontigny,
Avant de vous répondre j'ai testé le fichier que je vous avais transmis avec des nombres, des textes et un mélange chiffre et texte sans aucun problème.
Ce serait bien de montrer le fichier sur lequel vous avez le problème ....


Salutations.
Le Pingou
0
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015
30 déc. 2012 à 15:37
Bonjour Le Pingou,

excusez-moi mais c'est vrai que j'ai oublié une information : en plus, j'ai modifié la propriété style sur 2 - fmstyledropdownlist pour éviter que l'utilisateur ne puisse saisir autre chose.

L'erreur d'exécution 380 ne vient que quand je rajoute des chiffres; cette erreur est vraiment ennuyeuse car elle empêche in fine d'utiliser le formulaire alors que l'erreur 91 nous permet de recommencer si on ne fait pas le débogueur.

Merci d'avance si idée
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
30 déc. 2012 à 15:43
Bonjour,
Merci.
Je vous répètes ceci : ce serait bien de montrer le fichier sur lequel vous avez le problème ....


0
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015
30 déc. 2012 à 15:55
voici ton fichier sur lequel j'ai retravaillé:
http://cjoint.com/12dc/BLEp21wN2lb.htm

cdlt
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
30 déc. 2012 à 17:55
Bonjour,
Merci, j'ai modifié le code.
Le fichier : https://www.cjoint.com/?3LEr2tQfiSg

0
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015
30 déc. 2012 à 18:22
Merci Le Pingou.
Je comprends que "application.enabledevents=false " bloque en particulier userform_initialize.
Mais je comprends pas pourquoi les chiffres gênaient et quelle est l'utilité de option explicit?
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
Modifié par Le Pingou le 30/12/2012 à 21:31
Bonjour,
Est-ce que cela fonctionne .... ?
Concerne :
Je comprends que "application.enabledevents=false " bloque en particulier userform_initialize.
Ce qui est faux ; sert à désactiver des événements avant l'attribution d'une valeur de la [Combobox] de telle sorte que l'événement Change n'ait pas lieu.

Mais je ne comprends pas pourquoi les chiffres gênaient
Ce ne sont pas les chiffres qui provoque l'erreur mais simplement l'activation de la propriété [Style] sur [fmStyleDropDownList] qui oblige l'utilisation d'une valeur de la liste [Combobox] (toute valeur externe, même si cette valeur existe provoque une erreur) c'est pourquoi j'ai modifié les 2 procédures événementielle sur [xx_change] .
Vous pouvez essayer de mettre du mélange nombre, texte, chiffre et lettre et vous constaterez que maintenant il n'y a plus de problème... !

Quelle est l'utilité de option explicit?
Instruction utilisée au niveau module pour imposer la déclaration explicite de toutes les variables de ce module


Salutations.
Le Pingou
0
chrisdemontigny Messages postés 64 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 17 mars 2015
31 déc. 2012 à 18:27
Merci le Pingou car ton nouveau fichier fonctionne bien avec les chiffres.
Mais je ne comprends pas pourquoi si je mets autre chose que des chiffres, cela ne me met pas une erreur 380, alors que je mets bien 2 - fmstyledropdownlist dans la propriété style.

Bon Réveillon.
Cordialement.
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 454
31 déc. 2012 à 19:00
Bonjour,
Eh bien, je vous avait mentionnée ceci : c'est pourquoi j'ai modifié les 2 procédures événementielles sur [xx_change]
Si vous regardez le code vous constaterez que j'utilise les valeurs des 2 listes [cbxcolla] et [cbxinit] et de cette manière il n'y a plus de conflit possible.
Tous mes voeux pour l'an nouveau.
0