Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Excel 2002 - Menu deroulant alimentant textbox

4 réponses
Avatar
Alex
Bonjour =E0 tous,

Sous excel 2002 dans un userform et dans un frame, j'ai une combobox
NOMPREN et une textbox NOMSERV, la combobox devant alimenter la
textbox, mais malheureusement j'ai le message suivant :

Erreur d'Excution 1004 : Impossible de lire la Propri=E9t=E9 Vlookup de la
classe WorksheetFunction

J'ai bien control=E9 mon deroulant, il y a pas de "trou" ni dans ma
premiere colonne ni dans la seconde.

Je ne comprends pas pourquoi, Quelqu'un aurait il une id=E9e d'ou peux
provenir le dysfonctionnement ?
Merci par avance de votre aide.
Bien cordialement.
Alex

J'ai =E9crit ceci :

Private Sub UserForm_Activate()
Sheets("Deroulant").Activate
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
NOMPREN =3D Selection.Address
NOMPREN.RowSource =3D NOMPREN
NOMPREN.ListIndex =3D 0
End Sub

et

Private Sub NOMPREN_Change()
IndexAlex =3D NOMPREN.ListIndex
Alex =3D NOMPREN.List(IndexAlex)
DernierNOMSERV =3D Range("Deroulant!B1").End(xlDown).Address
NOMSERV.Value =3D WorksheetFunction.VLookup(Alex, Range("Deroulant!A1:"
& DernierNOMSERV), 2, False)
End Sub

4 réponses

Avatar
MichD
Bonjour,

Es-tu certain que tu ne mélanges pas les 2 fonctions suivantes :

VLookup() et LookUp() ce n'est pas la même chose.

MichD
---------------------------------------------------------------
Avatar
Alex
Bonjour MichD,

Merci pour votre réponse.
Non je pense que la foncion est bien VLookup.
J'ai testé lookup, j'ai le message suivant : Erreur de compilation :
Nombre d'arguments incorrect ou affectation de propriété incorrecte
Mais peut-être qu'il faut modifier entièrement ma ligne de commande
lorsqu'on utilise Lookup ?
Merci par avance de votre aide.
Bien cordialement.
Alex
Avatar
MichD
| NOMSERV.Value = _
WorksheetFunction.VLookup(Alex, Range("Deroulant!A1:B" &
DernierNOMSERV), 2, False)

Ceci fonctionne bien, remplace dans la plage de cellules la lettre B par la
lettre de
la dernière colonne de ta plage de cellules. (Tu avais omis de la déclarer)

Ceci veut dire aussi que NOMSERV est un objet possédant une propriété
"Value"

MichD
---------------------------------------------------------------
Avatar
Alex
Bonjour,

Merci pour la réponse.
J'ai testé avec la solution proposé mais cela ne fonctionne pas mieux,
mais j'ai trouvé la solution, en conservant ma ligne de commande
initiale. Au lieu de mettre mes lignes de commandes sur la procédure
Change, je l'ai mis sur la procédure AfterUpdate et cela fonctionne,
car dans la procédure User_form Activate, l'initialisation du menu
déroulant, s'interrompait pour passer sur la procédure change avant la
fin d'initialisation dans activate, ce qui provoquait le message
d'erreur.
Bien cordialement.
Alex