Bonjour,
Je vous sollicite afin que vous m'aidez à comprendre pourquoi une de mes variables utilisées dans une formule prend une valeur différente que celle qu'elle a initialement.
C'est très farfelu mais je ne sais comment tourner correctement ma demande... Je m'explique (du moins je vais essayer).
Je recherche l'emplacement d'une colonne particulière dans une feuille afin de l'utiliser par la suite dans une RECHERCHEV.
Voilà le code tapé :
Ma colonne se trouvant en E, la variable prend la valeur 5, mais dans la RECHERCHEV, elle passe à 7.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Sub Test() Dim MyColumn As Byte 'Identification de la colonne comportant les libellés de l'export issu de la Ligne 1000 MyColumn = Sheets("Export Sage").Cells.Find("Libellé d'écriture", LookIn:=xlValues).Column 'Contrôle des catégories de paye With Sheets("Cat") .Range("B1").EntireColumn.Delete LR1 = .Cells(.Rows.Count, 1).End(xlUp).Row With .Range("B2:B" & LR1) .Formula = "=+IF(ISERROR(VLOOKUP(RC[-1],'Export Sage'!C[" & MyColumn & "],1,0)),""X"","""")" .Value = .Value End With End With End Sub
La valeur prend toujours la valeur + 2 dans la formule (j'ai fait plusieurs tests)
Je contourne le problème en faisant:
Mais je ne m'explique pas pourquoi le code initial ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyColumn = Sheets("Export Sage").Cells.Find("Libellé d'écriture", LookIn:=xlValues).Offset(0, -2).Column
Je vous remercie grandement d'avance pour votre réponse, et m'excuse si cette question sûrement triviale pour nombre d'entre vous vous excède.
Partager