Bonjour à toutes et à tous
J'ai une une plage de référence dans laquelle se trouvent des dates. Disons A3:A1000
et 3 plages différentes contenant également des dates.
J'ai une procédure qui me permet de chercher par (find) si les dates contenues dans ces 3 plages se trouvent dans ma plage de référence.
Mon souci
Plutôt que d'être obligé de réécrire toute la procédure selon si il s'agit de la plage 1 2 ou 3, serait il possible d'écrire une fonction de recherche de date et d'insérer cette fonction dans chacune de mes routines en spécifiant seulement la plage choisie ?
Je ne sais pas si je suis très clair ? auquel cas n'hésitez pas à me demander des préçisions supplémentaires.
Merci par avance pour votre aide
Ci-dessous mon code actuel
Sub Macro1()
Application.ScreenUpdating = False
With Worksheets(1).Range("a3:a1000")
Plage = Page 1 ou plage 2 ou plage 3 (ici mes différentes plages)
Set c = .Find(Plage, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Set c = .FindNext(c)
'Action si date cherchée trouvée
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Application.ScreenUpdating = True
End Sub
J'ai une une plage de référence dans laquelle se trouvent des dates. Disons A3:A1000
et 3 plages différentes contenant également des dates.
J'ai une procédure qui me permet de chercher par (find) si les dates contenues dans ces 3 plages se trouvent dans ma plage de référence.
Mon souci
Plutôt que d'être obligé de réécrire toute la procédure selon si il s'agit de la plage 1 2 ou 3, serait il possible d'écrire une fonction de recherche de date et d'insérer cette fonction dans chacune de mes routines en spécifiant seulement la plage choisie ?
Je ne sais pas si je suis très clair ? auquel cas n'hésitez pas à me demander des préçisions supplémentaires.
Merci par avance pour votre aide
Ci-dessous mon code actuel
Sub Macro1()
Application.ScreenUpdating = False
With Worksheets(1).Range("a3:a1000")
Plage = Page 1 ou plage 2 ou plage 3 (ici mes différentes plages)
Set c = .Find(Plage, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Set c = .FindNext(c)
'Action si date cherchée trouvée
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Application.ScreenUpdating = True
End Sub