Sub EQUIVMultiColonne()
Dim vRecherche As Date
Dim J As Byte
Dim vRow As Long
Dim vLimiteColumn As Byte
Dim Saisie As Variant
[COLOR="SeaGreen"]'trouve le n° de la dernière colonne utilisée par les tableaux[/COLOR]
vLimiteColumn = Range("IV4").End(xlToLeft).Column
[COLOR="SeaGreen"]'Affiche un champ de saisie[/COLOR]
Saisie = InputBox("Saisir la date")
[COLOR="SeaGreen"]'Contrôle si l'utilisateur à cliquer sur le bouton annuler, ou sur le bouton avec une saisie vide[/COLOR]
If Saisie = "" Then Exit Sub
[COLOR="SeaGreen"]'Convertion la saisie en une date[/COLOR]
[COLOR="SeaGreen"]'la suite nécessite une gestion d'erreur[/COLOR]
On Error Resume Next
vRecherche = CDate(Saisie)
[COLOR="SeaGreen"]'la saisie ne correspond pas à une date[/COLOR]
If vRecherche = 0 Then Exit Sub
Do
[COLOR="SeaGreen"] 'recherche à l'aide de la fonction feuille de calcul EQUIV[/COLOR]
vRow = Application.WorksheetFunction.Match(vRecherche * 1, Range("B:B").Offset(0, J), 0)
If vRow > 0 Then
[COLOR="SeaGreen"] 'Date trouvée dans la colonne, sélection de la cellule, et sortie de la sub[/COLOR]
Cells(vRow, J + 2).Select
Exit Sub
End If
[COLOR="SeaGreen"] 'Incrémentation de la colonne de recherche, avec un pas de 13[/COLOR]
J = J + 13
Loop Until J >= vLimiteColumn
[COLOR="SeaGreen"]'Sortie de la sub la date n'est pas présente dans les tableaux[/COLOR]
End Sub