Fonction VLOOKUP, valeur rechercher Combobox1.value

Bonsoir le forum,

J'ai un souci sur une macro de restriction d'affichage en fonction de l'utilisateur.

J'ai dans mon USERFORM "IDENTIFICATION" la possibilité de saisie de l'identifiant et du mdp suivi de la validation qui consiste à afficher ou non les feuilles en fonction de l'identification effectuée.

je fonctionne par rechercheV en fonction du nom saisie dans la combobox1.

Mais le problème c'est que j'ai l'erreur suivante :

Impossible de lire la propriété VLookup de la classe Worksheetfunction.

sur la ligne :

 If TextBox1 = Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 2, faux) Then

Je vous transmet le fichier avec ainsi que la macro :

le fichier :

35test-formation.xlsm (56.57 Ko)

Ma macro :

Private Sub CommandButton1_Click()

    If TextBox1 = Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 2, faux) Then

        If Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 3, faux) = 1 And         Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 4, faux) = 1 And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 5, faux) = 1 And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 6, faux) = 1 And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 7, faux) = 1 Then

            Call AFFICHAGE_AFFICHAGE
            Call AFFICHAGE_IDENTIFICATION
            Call AFFICHAGE_BASE
            Call MASQUE_MENU

        ElseIf Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 3, faux) = 1 And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 4, faux) = "" And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 5, faux) = "" And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 6, faux) = 1 And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 7, faux) = "" Then

            Call AFFICHAGE_AFFICHAGE
            Call MASQUE_MENU

        ElseIf Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 3, faux) = "" And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 4, faux) = "" And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 5, faux) = 1 And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 6, faux) = "" And Application.WorksheetFunction.VLookup(ComboBox1.Value, IDENTIFICATION, 7, faux) = "" Then

            Call AFFICHAGE_BASE
            Call MASQUE_MENU

        End If

    End If

End Sub

merci d'avance pour le coup de main !

Bonjour,

à tester,

Application.WorksheetFunction.VLookup(v, Range("IDENTIFICATION"), 3, faux)

Bonjour I20100,

merci pour la réponse.

J'ai de cette manière :

Application.WorksheetFunction.VLookup(ComboBox1.Value, Range("IDENTIFICATION"), 2, faux)

Et quand je clique sur le bouton rien ne se passe

J'ai de cette manière :

Application.WorksheetFunction.VLookup(ComboBox1.Value, Range("IDENTIFICATION"), 2, faux)

Et quand je clique sur le bouton rien ne se passe

If TextBox1 = Application.WorksheetFunction.VLookup(ComboBox1.Value, Range("IDENTIFICATION"), 2, faux) Then

tu compares une valeur texte avec une valeur numérique,

il faudrait transformer une des valeurs

J'ai essayé de cette manière ci :

If TextBox1. Value = Application.WorksheetFunction.VLookup(ComboBox1.Value, Range("IDENTIFICATION"), 2, faux) Then

Et toujours rien.. Je ne sais pas comment faire à moins que lors de la validation j'écrive la valeur de la combobox dans une cellule et j'exécute la recherchev de la textbox en suivant ?

re,

est ce que les valeurs de la plage B4:G8 seront toujours numérique ?

essai

If TextBox1. Value = CStr(Application.WorksheetFunction.VLookup(ComboBox1.Value, Range("IDENTIFICATION"), 2, faux)) Then

Bonjour I20100,

Oui cette plage sera toujours signifié par le chiffre 1.

Mais votre solution fonctionne parfaitement !

Comme vous avez pu le remarquer, la macro marche en fonction de trois critère bien définis, mais j'aimerai savoir s'il serait possible de dire par exemple

si dans la colonne "AFFICHAGE" la personne (résultat de la rechercheV), a le chiffre 1 alors lui accorder l'accès à la feuille "AFFICHAGE" ainsi de suite en fonction des colonnes dans lesquelles la personne à le chiffre 1 ?

Le but est de scinder la macro au maximum en évitant des lignes trop longues

up

Rechercher des sujets similaires à "fonction vlookup valeur rechercher combobox1 value"