Bonjour,

Ci dessous une petite macro qui me permet de rechercher une valeur dans une feuille et si elle est trouvé et que suivant certaines conditions copier des cellules de cette page vers une autre page:
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
Set SHtmpIO = Sheets("Temp IO")
ligne = 2
Do Until SHtmpIO.Cells(ligne, 1) = ""
    ctrl = SHtmpIO.Cells(ligne, 7)
    Var = SHtmpIO.Cells(ligne, 1)
 
    Set SHctrl = Sheets(ctrl)
 
    Cells.Find(What:=(Var), After:=SHctrl.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder _
    :=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
    With Application.ActiveCell
    NumLg = .Row
    End With
    If Not Cells(NumLg, 12) = "" Then
        Range(SHtmpIO.Cells(ligne, 14), SHtmpIO.Cells(ligne, 16)).Value = Range(SHctrl.Cells(NumLg, 12), SHctrl.Cells(NumLg, 14)).Value
    End If
    ligne = ligne + 1
Loop
Mon probleme est que si j'utilise cette macro tels quel le resultat n'est pas coherent. Pour qu'il soit juste il faut que je rajoute la partie de code ci dessous avant d'appliquer FIND:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Sheets(ctrl).Select
    Cells(1, 1).Select
    Cells.Find(What:=(Var), After:=SHctrl.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder _
    :=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
Pourquoi?