Comparer une cellule a une plage de cellules

Résolu/Fermé
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 30 mars 2017 à 13:06
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 30 mars 2017 à 14:26
Bonjour,
comme le titre l'indique je veux comparer, je veux comparer une cellule à une plage des cellules, si la valeur de cette cellule A1 existe dans cette plage je récupère cette valeur dans la cellule B1, et je récupère la cellule qui est dans la même ligne et dans la colonne suivante dans la Cellule C1 ainsi de suite.
j'ai créé le compte suivant :
Sub Fonction2()
Dim FL1 As Worksheet
Set FL1 = Worksheets("Feuil1")
Dim Lig As Integer
For Lig = 6 To 36
If FL1.Cells(1, 1).Value = FL1.Cells(Lig, 5).Value Then
Range("B1").Value = FL1.Cells(Lig, 1).Value
Range("C1").Value = FL1.Cells(Lig, 2).Value
Range("D1").Value = FL1.Cells(Lig, 3).Value
Range("E1").Value = FL1.Cells(Lig, 4).Value
Range("F1").Value = FL1.Cells(Lig, 5).Value
Else
Range("B1").Value = ""
Range("C1").Value = ""
Range("D1").Value = ""
Range("E1").Value = ""
Range("F1").Value = ""
End If
Next
Set FL1 = Nothing
End Sub

mais il ne fonctionne pas et j'arrive pas à trouver où se situe le problème, alors je demande votre aide pour le régler
je vous remercie d'avance pour votre aide

1 réponse

kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
30 mars 2017 à 14:26
J'ai fini par trouver où se situe l'erreur, il faut ajouter un "Exit For" quand la condition est vérifiée sinon il continue les recherche
Sub Fonction2()
Dim FL1 As Worksheet
Set FL1 = Worksheets("Feuil1")
Dim Lig As Integer
For Lig = 6 To 36
If FL1.Cells(1, 1).Value = FL1.Cells(Lig, 5).Value Then
Range("B1").Value = FL1.Cells(Lig, 1).Value
Range("C1").Value = FL1.Cells(Lig, 2).Value
Range("D1").Value = FL1.Cells(Lig, 3).Value
Range("E1").Value = FL1.Cells(Lig, 4).Value
Range("F1").Value = FL1.Cells(Lig, 5).Value
Exit For
Else
Range("B1").Value = ""
Range("C1").Value = ""
Range("D1").Value = ""
Range("E1").Value = ""
Range("F1").Value = ""
End If
Next
Set FL1 = Nothing
End Sub
0