VBA EXCEL Formulaire : prénom et initiales
chrisdemontigny
Messages postés
70
Statut
Membre
-
Le Pingou Messages postés 12714 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12714 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- VBA EXCEL Formulaire : prénom et initiales
- Whatsapp formulaire opposition - Guide
- Liste déroulante excel - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
10 réponses
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
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
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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
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
Bonjour,
Merci.
Je vous répètes ceci : ce serait bien de montrer le fichier sur lequel vous avez le problème ....
Merci.
Je vous répètes ceci : ce serait bien de montrer le fichier sur lequel vous avez le problème ....
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
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
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.
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.
Je ne connais pas trop ces écritures de code. Je reposterai peut-être un message si je ne comprends pas tout.
Bonne soirée