Problème pour utiliser la fonction find sur une plage horizontale

Bonjour,

J'arrive désormais à réaliser des recherches sur des plages verticales avec la fonction .find .

Toutefois, j'ai un projet VBA dans lequel la plage de recherche est horizontale. Et dans ce cas, la fonction .find ne fonctionne pas.

Sub Test()
Dim maDate As Date
Dim MaPlage As Range

maDate = 45016 'à savoir la date du 31/03/2023

Set MaPlage = PLG.Rows("4").Find(maDate)
If Not MaPlage Is Nothing Then
    MsgBox MaPlage.Address
    MsgBox MaPlage.Column
    MsgBox MaPlage.Row
Else
    MsgBox "Introuvable"
End If
End Sub

Voici un extrait de mon tableau ( PLG.Rows("4") )

DATES27/03/202328/03/202329/03/202330/03/202331/03/202301/04/202302/04/202303/04/202304/04/202305/04/202306/04/202307/04/202308/04/202309/04/202310/04/202311/04/202312/04/2023
Quelqu'un aurait-il une solution ?
D'avance merc i de votre contribution.

Hello,

Tu devrais plus utiliser la fonction Application.WorksheetFunction.Match pour identifier ligne et colonne :)

Merci de ta proposition

j'ai essayé ceci, mais ça ne fonctionne pas.

Sub Test()
Dim maDate As Date
Dim MaPlage$

maDate = 45016 'à savoir la date du 31/03/2023

MaPlage = Application.WorksheetFunction.Match(maDate, PLG.Rows("4"), 0).Column

    MsgBox MaPlage

End Sub

j'ai trouvé mon erreur. J'avais mal défini les valeurs, et n'avait pas compris que MATCH équivaut à la fonction EQUIV d'excel.

Merci bien pour ton aide.

Sub Test()
Dim maDate As Long
Dim columdate As Long

maDate = 45016 'à savoir la date du 31/03/2023

columdate = Application.WorksheetFunction.Match(maDate, PLG.Rows("4"), 0)

    MsgBox columdate

End Sub

Hello :)

N’hésite pas à passer le sujet en resolu :)

Rechercher des sujets similaires à "probleme utiliser fonction find plage horizontale"