Bonjour,
J'ai commencer un macro qui permet de rechercher une valeur donnée sur une autre feuille en vérifiant par ligne dans 5 colonne différente , puis la copier et la coller sur une autre feuille. le problème c'est quel ne marche pas et je ne sais pas pourquoi, j'ai chercher sur plusieurs forum différent mais impossible de trouver.
Pouvez-vous m'aider ?
Voici mon code :
Sub RECHERCHE_2()
Dim cel As Range
Dim valcherch As String
Dim FL1, FL2 As Worksheet
Dim NoLig As Long
Dim derlig As Integer
Set FL1 = Worksheets("Suivi")
Set FL2 = Worksheets("FRN")
Application.ScreenUpdating = False
valcherch = FL2.Range("G1")
With FL1
derlig = .Range("U" & Rows.Count).End(xlUp).Row
Set plage = .Range("A3:U" & derlig)
End With
derlig = 0
For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
If FL1.Cells(NoLig, 13).Value = valcherch Then
With FL2
For Each cel In plage
If cel <= valcherch Then
derlig = .Range("M" & Rows.Count).End(xlUp).Row + 1
If derlig = 3 Then
derlig = 287
End If
cel.EntireRow.Copy .Range("A6" & derlig)
End If
Next cel
End With
Application.ScreenUpdating = True
ElseIf FL1.Cells(NoLig, 15).Value = valcherch Then
With FL2
For Each cel In plage
If cel <= valcherch Then
derlig = .Range("Q" & Rows.Count).End(xlUp).Row + 1
If derlig = 3 Then
derlig = 286
End If
cel.EntireRow.Copy .Range("A6" & derlig)
End If
Next cel
End With
Application.ScreenUpdating = True
ElseIf FL1.Cells(NoLig, 17).Value = valcherch Then
With FL2
For Each cel In plage
If cel <= valcherch Then
derlig = .Range("S" & Rows.Count).End(xlUp).Row + 1
If derlig = 3 Then
derlig = 257
End If
cel.EntireRow.Copy .Range("A6" & derlig)
End If
Next cel
End With
Application.ScreenUpdating = True
ElseIf FL1.Cells(NoLig, 19).Value = valcherch Then
With FL2
For Each cel In plage
If cel <= valcherch Then
derlig = .Range("U" & Rows.Count).End(xlUp).Row + 1
If derlig = 3 Then
derlig = 95
End If
cel.EntireRow.Copy .Range("A6" & derlig)
End If
Next cel
Application.ScreenUpdating = True
End With
Else
Exit For
End If
Next
End Sub
En vous remerciant d'avance de votre réponse,
Cordialement.