Recherche de date dans une ligne avec la Methode find

  • Initiateur de la discussion Initiateur de la discussion Adri3n
  • 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 !

Adri3n

XLDnaute Nouveau
Bonjour à tous,

Ce n'est pas mon premier message sur le forum mais il me semble que mon compte ait été supprimé pour non utilisation depuis un moment...

Anyway, je rencontre un petit souci... J'ai cherché des solutions au préalable sur le forum, j'ai appliqué les modifications proposées sans succès...

Je cherche à créer un outil de planification et pour cela je dois rechercher une date dans un calendrier. Les dates sont toutes sur une ligne (ici la ligne 3).

Exemple:
valeur = "05/01/2015"

Dans mon tableau j'ai toutes les dates de l'année 2015 sur la même ligne au format JJ/MM/AAAA

Code:
datetmp = "05/01/2015"
'MsgBox CDate(datetmp)
Set PositionCelluleDateSalle = Sheets("Contraintes-Salle").Range("3:3").Find(CDate(datetmp), lookAt:=xlWhole)
If PositionCelluleDateSalle Is Nothing Then 'si on ne trouve rien, ce qui est impossible
 MsgBox "Date Introuvable"
Else
 MsgBox ("Les coordonnees de la date trouvee sont " & PositionCelluleDateSalle)
End If

Le souci, c'est que PositionCelluleDateSalle est toujours égale à Nothing...

bref...

Merci d'avance pour votre aide.
Adrien
 
Re : Recherche de date dans une ligne avec la Methode find

Bon au final, ce que j'ai fait est très moche, mais c'était une solution,

J'ai ajouté une ligne à ma feuille excel en usant de la formule : =TEXTE(I3;"jj/mm/aaaa") que j'ai copié sur toute ma ligne de dates.
Au final, je vais ma recherche sur la nouvelle ligne. Bingo !

Néanmoins, si vous avez la solution 'propre', je suis preneur.

Adrien
 
Re : Recherche de date dans une ligne avec la Methode find

Bonjour,

regarde peut être du coté de l'argument "lookin" de la méthode "find", sans voir tes données et pouvoir tester, difficile d'en dire plus :

Code:
Set PositionCelluleDateSalle = Sheets("Contraintes-Salle").Range("3:3").Find(CDate(datetmp), LookIn:=XlFormulas, lookAt:=xlWhole)

bonne journée
@+
 
Re : Recherche de date dans une ligne avec la Methode find

Bonjour à tous,

Tu devrais utiliser la définition correcte des variables :
Code:
Dim datetmp As Date, PositionCelluleDateSalle As Range
datetmp = DateValue("05/01/2015")
'MsgBox CDate(datetmp)
Set PositionCelluleDateSalle = Sheets("Contraintes-Salle").Range("3:3").Find(CDate(datetmp), lookAt:=xlWhole)
If PositionCelluleDateSalle Is Nothing Then 'si on ne trouve rien, ce qui est impossible
 MsgBox "Date Introuvable"
Else
 MsgBox ("Les coordonnees de la date trouvee sont " & PositionCelluleDateSalle)
End If

Ainsi cela devrait fonctionner
 
Re : Recherche de date dans une ligne avec la Methode find

Bonjour à tous.

Bon au final, ce que j'ai fait est très moche, mais c'était une solution,

J'ai ajouté une ligne à ma feuille excel en usant de la formule : =TEXTE(I3;"jj/mm/aaaa") que j'ai copié sur toute ma ligne de dates.
Au final, je vais ma recherche sur la nouvelle ligne. Bingo !

Néanmoins, si vous avez la solution 'propre', je suis preneur.

Adrien

La seule solution si tu veux utiliser FIND pour trouver une date et ne pas te préoccuper de la largeur de la colonne ou du format DATE des cellules, c'est de ne pas utiliser FIND pour chercher une date.

Code:
Sub trouver()
 
datetmp = "05/01/2015"

Set PositionCelluleDateSalle = Nothing
For Each cell In Sheets("Contraintes-Salle").Range("3:3")
 If CDate(datetmp) = cell Then
  Set PositionCelluleDateSalle = cell
  Exit For
 End If
Next

If PositionCelluleDateSalle Is Nothing Then
 MsgBox "Date Introuvable"
Else
 PositionCelluleDateSalle.Select
 MsgBox ("Les coordonnees de la date trouvee sont " & PositionCelluleDateSalle)
End If

End Sub


Docmarti.
 
- 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
22
Affichages
3 K
Réponses
2
Affichages
1 K
Réponses
1
Affichages
1 K
Retour