Problème avec Find du fait de la mise en forme d'une date

Résolu/Fermé
GKlein - 14 nov. 2020 à 15:01
 GKlein - 14 nov. 2020 à 19:42
Bonjour, je cherche à trouver une cellule contenant la date du jour grâce à une macro pour ensuite l'activer via un bouton. Je ne rencontre pas de problème lorsque la date est sous le format jj/mm/aa par exemple 14/11/20, seulement dans mon fichier j'ai remis en forme les dates comme ceci : jjj jj mmm aaaa soit sam 14 nov 2020 et à priori cette mise en forme pose problème.
Je vous remercie d'avance et vous souhaite un très bon week-end.

Voici ci-dessous la macro que j'utilise :
Sub Macro1()
Dim trouve As Range
Set trouve = Range("J21:Z21").Find(Date)

If trouve Is Nothing Then
Debug.Print "Name was not found."
Else
Debug.Print "Name found in :" & trouve.Address
trouve.Activate
End If

End Sub

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 14 nov. 2020 à 15:27
Bonjour,

voir ceci

https://www.excel-pratique.com/fr/astuces_vba/format_dates

Option Explicit
'https://www.excel-pratique.com/fr/astuces_vba/format_dates
Sub essai()
MsgBox Format(Date, "dddd d mmm yyyy")
End Sub



1
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
14 nov. 2020 à 15:53
Bonjour,

Quelque soit le format utilisé :
Sub Macro1()
Dim trouve As Range
Dim x As Long
  On Error Resume Next
  x = WorksheetFunction.Match(CLng(Date), Range("J21:Z21"), 0)
  On Error GoTo 0
  If x = 0 Then
    Debug.Print "Name was not found."
  Else
    Set trouve = Range("J21").Offset(0, x - 1)
    Debug.Print "Name found in :" & trouve.Address
    trouve.Activate
  End If
End Sub
1
Merci beaucoup, je n'aurais jamais trouvé comment faire, venant tout juste de me mettre à faire des macros.
Bonne soirée à vous.
0