Recherchev + boucle + valeurs décalées

Viapif

XLDnaute Nouveau
Bonjour à tous,

Je suis à la recherche désespérée d’une aide pour un fichier sur lequel je travaille.
Pardonnez moi à l’avance si ce n’est pas clair mais ce n’est pas évident à expliquer. Je joins un fichier représentatif de ce que je cherche à faire, en l'ouvrant et en me lisant ce sera plus simple de comprendre.

Voila, j’aimerais récupérer dans la feuille "Tableau de Présentation" des valeurs d’une feuille nommée "Tableau" en fonction d’un numéro de série du client et de l'entête de la colonne.
Dans "Tableau de Présentation" j’aimerais que chaque valeurs aient le même espacement c’est çà dire 11 lignes afin qu’elles entrent dans le format prédéfini (les valeurs iraient là où les XXX rouges sont).
Enfin pour rendre la chose encore plus simple, j’aimerais qu’avec un système de liste dans les entêtes on puisse récupérer des valeurs différentes du tableau de la feuille "Tableau".

Voila le code que j'ai établi, du moins pour la colonne E. le bug vient de la recherche v qui affiche bien la valeur pour le premier cadre mais qui ne boucle pas sur le second ni sur le troisième.

Merci d'avance pour ceux ou celles qui pourront m'aider :)


Sub TableauColE()
Dim NumCol As String
Dim i As Integer
Dim j As Integer
Dim L As Integer
Dim N As String
N = Range("E4").Text
c = Sheets("Tableau").Range("B3:T4").Find(N, lookat:=xlWhole).Column
NumCol = c

For j = 5 To 100
For i = 6 To 100
If Not IsEmpty(Sheets("Tableau de Présentation").Cells(i, 2)) Then
Sheets("Tableau de Présentation").Cells(j, 5) = WorksheetFunction.VLookup(Sheets("Tableau de Présentation").Cells(i, "B").Value, Sheets("Tableau").Range("B:V"), NumCol - 1, False)
End If
i = i + 11
j = j + 11
Next
Next
End Sub
 

Pièces jointes

  • Classeur1HELP.xlsm
    21.2 KB · Affichages: 42

Modeste

XLDnaute Barbatruc
Re : Recherchev + boucle + valeurs décalées

Bonjour Viapif, sois le bienvenu!

Comme tu es encore passé ce midi il faut tout de même qu'on te donne un petit écho (au moins)

La question qu'on se pose inévitablement, en te lisant est: pourquoi passer par une macro? Une formule (INDEX-EQUIV, plutôt que RECHERCHEV, de ce que j'ai cru comprendre) copiée-collée toutes les 11 lignes, ce n'est pas envisageable? Ne faudrait-il pas recopier vers la droite également?

Par ailleurs, dans le code du fichier, il y a une différence notable par rapport au code dans ton message: la variable i n'est pas incrémentée de 11 à chaque passage dans la boucle!? Est-ce volontaire?
Déclarer une variable NumCol As String et faire ensuite des calculs sur celle-ci (NumCol - 1) ... c'est un peu particulier!?

Pour ce qui est de "... qu'avec un système de liste dans les entêtes on puisse récupérer des valeurs différentes du tableau", il faudra que tu expliques de manière un peu plus détaillée ce que tu voudrais obtenir :confused:
 

Discussions similaires

Statistiques des forums

Discussions
314 238
Messages
2 107 622
Membres
109 880
dernier inscrit
marc Deburaux