Excel 2002 - Menu deroulant alimentant textbox

Le
Alex
Bonjour à 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été Vlookup de la
classe WorksheetFunction

J'ai bien controlé 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ée d'ou peux
provenir le dysfonctionnement ?
Merci par avance de votre aide.
Bien cordialement.
Alex

J'ai écrit ceci :

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

et

Private Sub NOMPREN_Change()
IndexAlex = NOMPREN.ListIndex
Alex = NOMPREN.List(IndexAlex)
DernierNOMSERV = Range("Deroulant!B1").End(xlDown).Address
NOMSERV.Value = WorksheetFunction.VLookup(Alex, Range("Deroulant!A1:"
& DernierNOMSERV), 2, False)
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #24795482
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
---------------------------------------------------------------
Alex
Le #24795552
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
MichD
Le #24796242
| 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
---------------------------------------------------------------
Alex
Le #24797912
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
Publicité
Poster une réponse
Anonyme