Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Trouver ("Find") une date

Lu K

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Voici mon nouveau problème :

Quand je recherche une date dans mon classeur excel avec "find", Y'a un bug (erreur d'éxécution '91' : Variable objet ou bloc With non définie). Si je remplace tout les élément date, ça va !.

Voici mon code :
Code:
Dim Repere As String

With Sheets("Feuil1")
Selection.Offset(0, 14).Activate
Set x = Selection

With Sheets("Feuil2").Range("a3:a5000")
Repere = Userform1.Date.value

Set C = .Find(Repere, LookIn:=xlValues)
x.Offset(0, 0).Value = C.Offset(0, 1).Value
x.Offset(0, 1).Value = C.Offset(0, 2).Value
x.Offset(0, 2).Value = C.Offset(0, 7).Value
x.Offset(0, 3).Value = C.Offset(0, 3).Value
x.Offset(0, 4).Value = C.Offset(0, 4).Value
x.Offset(0, 5).Value = C.Offset(0, 8).Value
End With
End With

Si quequ'un sait comment gérer les dates avec la méthodes "Find", je suis preneur et je le remercie d'avance.

A+
 

Pierrot93

XLDnaute Barbatruc
Re : Trouver ("Find") une date

Bonjour,

A priori vois pas trop l'utilité de tes bloc "with", essaye peut être ceci...
Code:
Set x = Selection.Offset(0, 14)
Repere = Userform1.Date.Value
Set C = Sheets("Feuil2").Range("a3:a5000").Find(Repere, LookIn:=xlValues)
x.Offset(0, 0).Value = C.Offset(0, 1).Value
x.Offset(0, 1).Value = C.Offset(0, 2).Value
x.Offset(0, 2).Value = C.Offset(0, 7).Value
x.Offset(0, 3).Value = C.Offset(0, 3).Value
x.Offset(0, 4).Value = C.Offset(0, 4).Value
x.Offset(0, 5).Value = C.Offset(0, 8).Value

bonne soirée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Trouver ("Find") une date

Re,

A noter qu'il y a peut être lieu de tester si la valeur cherchée a été trouvée...

Code:
Dim Repere As String
Set x = Selection.Offset(0, 14)
Repere = Userform1.Date.Value
Set c = Sheets("Feuil2").Range("a3:a5000").Find(Repere, LookIn:=xlValues)
If Not c Is Nothing Then
    x.Offset(0, 0).Value = c.Offset(0, 1).Value
    x.Offset(0, 1).Value = c.Offset(0, 2).Value
    x.Offset(0, 2).Value = c.Offset(0, 7).Value
    x.Offset(0, 3).Value = c.Offset(0, 3).Value
    x.Offset(0, 4).Value = c.Offset(0, 4).Value
    x.Offset(0, 5).Value = c.Offset(0, 8).Value
End If
 

YANN-56

XLDnaute Barbatruc
Re : Trouver ("Find") une date

Bonsoir, Lu K, Pierrot, BOISGONTIER , et à ceux qui passeront par ici,

Peut-être n'ai-je pas tout compris, mais je joins un petit classeur
qui ne s'embrasse pas de trop de choses.

A noter que la limite de recherche d'une date est dans cet exemple
entre le 24/12/2009 au 12/01/2012...

Amicalement.

Yann

En espérant que Lu K repasse par là... Il y en a tant qui disparaissent!
 

Pièces jointes

  • CHERCHE_DATE.xls
    36 KB · Affichages: 71

Lu K

XLDnaute Occasionnel
Re : Trouver ("Find") une date

Bonjour à tous et merci pour vos réponse,

Malheureusement, aucune de vos solution ne fontionne ! j'ai essayé plein de truc ! Si je remplace l'ensemble par des lettres, ça va.
En fait, je reprend dans un texbox une date d'une feuille et me sert ensuite de cette date pour faire une recherche sur une autre feuille. Mais il ne veur pas !

Si vous avez encore des solution !

Merci d'avance
 

pierrejean

XLDnaute Barbatruc
Re : Trouver ("Find") une date

Bonjour à tous

A partir du code de mon ami Pierrot
Tester

VB:
Dim Repere As String
Set x = Selection.Offset(0, 14)
Repere = Cdate(Userform1.Date.Value)
Set c = Sheets("Feuil2").Range("a3:a5000").Find(Repere, LookIn:=xlValues)
If Not c Is Nothing Then
x.Offset(0, 0).Value = c.Offset(0, 1).Value
x.Offset(0, 1).Value = c.Offset(0, 2).Value
x.Offset(0, 2).Value = c.Offset(0, 7).Value
x.Offset(0, 3).Value = c.Offset(0, 3).Value
x.Offset(0, 4).Value = c.Offset(0, 4).Value
x.Offset(0, 5).Value = c.Offset(0, 8).Value
End If
 
Dernière édition:

Lu K

XLDnaute Occasionnel
Re : Trouver ("Find") une date

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH !!!!!!!!!!!!!!!!!!

IL M'ENERVE LUI ! Il arrive comme ça et trouve la solution en 4 mots !!!!!! Ca fait des jours que je cherche !


MERCI A TOUS ET A EFGE.
 

Discussions similaires

Réponses
2
Affichages
205
  • Question
Microsoft 365 Code VBA
Réponses
2
Affichages
359
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…