Comparer une cellule a une plage de cellules [Résolu/Fermé]

Signaler
Messages postés
417
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
-
Messages postés
417
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
-
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

Messages postés
417
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
1
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