XL 2010 Find date dans textbox

  • Initiateur de la discussion Initiateur de la discussion cp4
  • Date de début Date de début

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 !

cp4

XLDnaute Barbatruc
Bonsoir🙂,

En voulant aider, je suis confronté à un problème que je n'arrive pas à résoudre.
D'ailleurs, je me demande si la fonction find n'est pas limitée.

L'objectif est de trouver une date se trouvant dans une textbox sur la bonne feuille (sheet.name= année de la date).
Et ce, en utilisant la fonction find. Car je voudrais bien comprendre son utilisation.
ça sera plus clair avec le fichier. Ci-dessous code qui plante (pour ceux qui n'ouvrent jamais les fichiers joints)
VB:
Sub Recherche_données()
   Dim LaFeuille As String, Ladate As Range, Ligne As Long, dl As Integer, plage As Range
   LaFeuille = Right(TextBox1, 4)

   If FeuilleExiste(LaFeuille) = True Then
      With Sheets(LaFeuille)
         dl = .Range("A" & Rows.Count).End(xlUp).Row
         Set plage = .Range("A1:A" & dl)

         Set Ladate = Rng.Cells.Find(What:=CDate(TextBox1.Text), LookIn:=xlFormulas, LookAt:=xlWhole) 'bug objet requis
        
         If Ladate Is Nothing Then
            Me.Label1.Caption = "la date " & TextBox1 & " non trouvée sur la feuille " & LaFeuille
         Else
            Me.Label1.Caption = TextBox1 & " se trouve sur la feuille " & LaFeuille & " en " & Ladate.Address
         End If
      End With
   Else
      Me.Label1.Caption = " la feuille " & LaFeuille & " n'existe pas!"
      Exit Sub
   End If
   '*********************************************
   Set Ladate = Nothing
   Set plage = Nothing
End Sub

En vous remerciant par avance.
Bonne soirée.
 

Pièces jointes

Solution
Bonsoir à tous

vous avez eu une erreur dans la macro


vous avez
Set Ladate = rng.Cells.Find(What:=CDate(Me.TextBox1.Text), LookIn:=xlFormulas, LookAt:=xlWhole)
au lieu d'avoir
Set Ladate = plage.Cells.Find(What:=CDate(Me.TextBox1.Text), LookIn:=xlFormulas, LookAt:=xlWhole)

J'ai fait les tests et ça marche


rng n'existe pas dans les variables

VB:
Sub Recherche_données()
   Dim LaFeuille As String, Ladate As Range, Ligne As Long, dl As Integer, plage As Range
  
   LaFeuille = Right(TextBox1, 4)

   If FeuilleExiste(LaFeuille) = True Then
      With Sheets(LaFeuille)
         dl = .Range("A" & Rows.Count).End(xlUp).Row
         Set plage = .Range("A1:A" & dl)

         Set Ladate =...
Bonsoir à tous

vous avez eu une erreur dans la macro


vous avez
Set Ladate = rng.Cells.Find(What:=CDate(Me.TextBox1.Text), LookIn:=xlFormulas, LookAt:=xlWhole)
au lieu d'avoir
Set Ladate = plage.Cells.Find(What:=CDate(Me.TextBox1.Text), LookIn:=xlFormulas, LookAt:=xlWhole)

J'ai fait les tests et ça marche


rng n'existe pas dans les variables

VB:
Sub Recherche_données()
   Dim LaFeuille As String, Ladate As Range, Ligne As Long, dl As Integer, plage As Range
  
   LaFeuille = Right(TextBox1, 4)

   If FeuilleExiste(LaFeuille) = True Then
      With Sheets(LaFeuille)
         dl = .Range("A" & Rows.Count).End(xlUp).Row
         Set plage = .Range("A1:A" & dl)

         Set Ladate = plage.Cells.Find(What:=CDate(Me.TextBox1.Text), LookIn:=xlFormulas, LookAt:=xlWhole)
        
         If Ladate Is Nothing Then
            Me.Label1.Caption = "la date " & TextBox1 & " non trouvée sur la feuille " & LaFeuille
         Else
            Me.Label1.Caption = TextBox1 & " se trouve sur la feuille " & LaFeuille & " en " & Ladate.Address
         End If
      End With
   Else
      Me.Label1.Caption = " la feuille " & LaFeuille & " n'existe pas!"
      Exit Sub
   End If
   '*********************************************
   Set Ladate = Nothing
   Set plage = Nothing
End Sub
 
- 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

Réponses
4
Affichages
148
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Réponses
4
Affichages
362
Retour