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:

Discussions similaires

Statistiques des forums

Discussions
312 534
Messages
2 089 386
Membres
104 153
dernier inscrit
Pascalmorin