Bonjour,
Je souhaite faire une recherche horizontale dont le nombre de colonnes des tableaux source et cible change d’une fois sur l’autre. Le tableau cible va de la ligne 10 à la ligne 16 et le tableau source de la ligne 1 à la ligne 6 de la même feuille. Les données sont issues d’autres feuilles elles-mêmes concernées par d’autres codes et toutes sont au format A1 et non L1C1. Je dois donc utiliser des variables pour fixer les nombres de colonnes mais alors je ne peux plus utiliser l’instruction Range car il faut alors désigner les colonnes par une lettre.
Dans un autre code j’effectue une recherche verticale avec la syntaxe suivante, qui fonctionne et dont j’ai voulu m’inspirer :
Malheureusement j’obtiens le message d’erreur « #VALEUR! » et dans la fenêtre d’exécution cela m’affiche l’erreur 2015 pour les deux syntaxes testées aux lignes 7 et 8. J’ai vérifié ma formule directement dans Excel, elle fonctionne normalement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Range("B" & k).Offset(0, 1).Value = Application.VLookup(Worksheets("Secteur").Cells(k, 2), Worksheets("TCD_alerte").range("A3:E" & i), 2, False)
J'ai testé d'autres syntaxes mais elles étaient rejetées lors de l'écriture du code. Je n'ai pas trouvé de discussion sur ce problème et je ne comprends pas d'où peut venir l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub test() Dim lastcolumn As Integer, nbcol As Integer, i As Integer 'last column (dernière colonne du tableau dans lequel on recherche), nbcol (nombre de colonnes du tableau dans lequel on importe) lastcolumn = Cells(1, Columns.Count).End(xlToLeft).Column nbcol = Cells(10, Columns.Count).End(xlToLeft).Column For i = 1 To nbcol Worksheets("Tri").Cells(11, i).Value = Application.HLookup("A10", "R1C1:R6C" & lastcolumn, 2, False) Worksheets("Tri").Cells(11, i) = Application.HLookup("A10", "R1C1:R6C" & lastcolumn, 2, False) Next i En sub
Merci d'avance à ceux qui m'apporteront leur aide.
Partager