Rechercher une date dans un classeur

julien974

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Je suis à la recherche d'une macro (Autre que CTRL+V) qui permettrait de rechercher une date au format JJ/MM/AA dans un classeur et de se positioner sur la cellule comportant cette date.

Cela dois foncionner avec une inputbox mais c'est au niveau du format que ça ne colle pas.

Merci de votre aide toujours très précieuse,

Juli3n 974
 

Hulk

XLDnaute Barbatruc
Re : Rechercher une date dans un classeur

Hello le Forum, Julien,

Peut-être comme ça
Code:
Sub RechercheDate()
Dim x As Variant
Dim madate As Date

    madate = InputBox("Saisissez une date.", Title:="Recherche d'une Date")
    
    Set x = ActiveSheet.Cells.Find(madate)
 If Not x Is Nothing Then
        x.Select
    Else
        MsgBox "Cette date " & "'" & madate & "'" & " n'existe pas !"
    End If

End Sub
Cdt, Hulk.
 

Hulk

XLDnaute Barbatruc
Re : Rechercher une date dans un classeur

Hello,

J'essaye d'appliquer un For Each x In ThisWorkBook, mais je n'y parviens pas.

Dans l'attente d'une solution, tu peux placer un bouton sur les feuilles, ou un bouton sur une de tes barres à outils, et y affecter la macro.

Cdt, Hulk.
 

Hulk

XLDnaute Barbatruc
Re : Rechercher une date dans un classeur

Re,

J'ai réussi à faire ça, il va bien chercher dans toutes les feuilles, mais il ne gère plus les MsgBox.
(Je n'ai pas réussi à les intégrer dans le code sans qu'elles apparaissent pour chaque feuille, et même s'il n'y a pas la date recherchée.)
Code:
Sub RechercheDate()
Dim Wb As Workbook
Dim Ws As Worksheet
Dim x As Variant
Dim madate As Date

    On Error Resume Next
    madate = InputBox("Saisissez une date au format 01.01.1900", Title:="Recherche d'une Date")
    If madate = 0 Then Exit Sub
    
    For Each Wb In Application.Workbooks
        For Each Ws In Wb.Worksheets
            For Each x In ThisWorkbook
                Set x = Ws.Cells.Find(madate)
                    If Not x Is Nothing Then
                    Ws.Select
                    x.Select
                    End If
            Next x
        Next Ws
    Next Wb

End Sub
Mais comme ça ça devrait être bon quand même.

J'ai aussi mis un On Error Resume Next pour si tu sors de l'InputBox sans saisir de date en cliquant ou sur Annuler ou sur la croix.

Cdt, Hulk.
 
Dernière édition:

Statistiques des forums

Discussions
312 329
Messages
2 087 333
Membres
103 519
dernier inscrit
Thomas_grc11