Rechercher une date dans un classeur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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.
 
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.
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour