Vlookup - ça coince

Bonjour,

J'ai un tableau sur la feuille accueil,

Avec des numéros d'équipes dans une colonne et les noms d'équipe dans une autre.

Sur la feuille "Tour 2", les numéros d'équipe ne sont pas dans l'ordre et je voudrais mettre le nom de l'équipe en face du numéro.

Avant de me lancer dans cette fonction avec des variables et des boucles, j'aimerais bien comprendre la syntaxe de la fonction.

J'ai essayé plusieurs trucs trouvés à droite et à gauche sur le net mais je n'arrive pas à adapter à mon cas.

Ce code me retourne une erreur

Dim test As Long
test = Application.VLookup("1", Sheets("Accueil").Range("B6:C27"), 3, 0)
MsgBox test

Ce code inscrit #N/A dans la bonne case, je pense que c'est parce qu'il ne trouve rien

Si j'ai bien compris, je recherche la valeur 1 dans le tableau couvrant les cellules B6 à C27 et la réponse se trouve dans la colonne 3 soit la colonne C de ma feuille Accueil.

Cells(5, 3) = Application.VLookup("1", Sheets("Accueil").Range("B6:C27"), 3, 0)

Dans le fichier joint mon problème se trouve au niveau de la feuille "Tour 1" en cliquant sur "créer le tour 2"

Merci pour votre aide

11test-2.xlsm (65.18 Ko)

Bonjour

Steph' a écrit :

Si j'ai bien compris, je recherche la valeur 1 dans le tableau couvrant les cellules B6 à C27 et la réponse se trouve dans la colonne 3 soit la colonne C de ma feuille

Non, pas dans la colonne 3 de ta feuille mais dans la 2° colonne du tableau que tu définies par B6 à C27.

Change donc le 3 par un 2 et cela devrait marcher.

OK ?

Bye !

Bonjour,

Merci pour cette réponse, je viens de m'apercevoir de mon erreur

Du coup j'ai un peu avancée pour la suite.

J'ai bien réussi à récupérer les noms des équipes, mais elles sont pas affichées dans l'ordre et pas en face du numéro d'équipe

Dim equipe As Integer
Dim j As Integer
equipe = 1
For j = 5 To derequipe
Cells(j, 3) = Application.VLookup(equipe, Sheets("Accueil").Range("B6:C27"), 2, 0)
equipe = equipe + 1
Next j

Avec ça j'obtiens un truc style

1 ---- Test 1

22 --- Test 2

3 ---- Test 3

2---- Test 4

Au lieu de

1 --- Test 1

22 ---Test 22

3 --- Test 3

2 --- Test 2

Merci pour votre aide

9test-2.xlsm (69.30 Ko)

Essaie en modifiant ton code :

'equipe = 1   --> inutile
For j = 5 To derequipe
Cells(j, 3) = Application.VLookup(Range("B" & j),Sheets("Accueil").Range("B6:C27"), 2, 0)
equipe = equipe + 1
Next j

OK ?

J'ai trouvé

Je ne sais pas si c'est bien propre comme code mais bon ... Je débute

Dim equipe As Integer
Dim j As Integer
Dim nomequipe As Variant
Dim lesequipes As Long
Dim celluletrouvee As Range
Dim ligne As Integer
Dim colonne As Integer
equipe = 1
For j = 5 To derequipe
nomequipe = Application.VLookup(equipe, Sheets("Accueil").Range("B6:C27"), 2, 0)
lesequipes = Range("B" & Rows.Count).End(xlUp).Row
Set celluletrouvee = Range("B4:B" & lesequipes).Find(equipe, LookAt:=xlWhole)
ligne = celluletrouvee.Row
col = celluletrouvee.Column
Cells(ligne, col + 1) = nomequipe
equipe = equipe + 1
Next j
Rechercher des sujets similaires à "vlookup coince"