Find et format de date

david84

XLDnaute Barbatruc
Bonjour,
je me demande si l'utilisation de Find pour rechercher une date ne pose pas de problème si le format de date est un format personnalisé (et non l'un des formats dates proposés dans "format de cellule").

Code:
Sub RechercheDateFind2()
  d = InputBox("Date? jj/mm/aa")
  If d <> "" Then
  MsgBox Format(CDate(Cells(2, 14)), "ddd dd") 'pour vérifier le format d'une valeur de la colonne
  MsgBox Format(CDate(d), "ddd dd") 'pour vérifier l'application du format de la valeur rentrée
    On Error Resume Next
    [N:N].Find(What:=Format(CDate(d), "ddd dd"), LookIn:=xlValues).Select
    
    If Err <> 0 Then MsgBox "Inconnu"
  End If
End Sub

En effet, je bute sur le fait que le code ci-dessus ne trouve pas la date recherchée dans un tableau. Je pourrais faire autrement et passer par exemple par Equiv mais ma recherche devant être faite sur une plage multi-colonne, cela me forcerait à utiliser une boucle (bon, si je peux m'en passer...).
Ci-joint un fichier de JB qui traite du sujet. L'exemple initial trouvé ici fonctionne correctement mais le format utilisé est un format de cellule Date et non un format personnalisé en l'occurrence "jjj jj".
Mes questions sont :
- peut-on arriver au même résultat avec un format personnalisé comme présenté dans le fichier joint ?
- Si oui, où est mon erreur ?
- Si cela n'est pas possible, comment vous-y-prendriez-vous ?
Merci
A+
 

Pièces jointes

  • FindDates.xls
    46 KB · Affichages: 59
Dernière édition:
G

Guest

Guest
Re : Find et format de date

Bonjour à tous,

@Michel, @David, comme dis plus tôt post #13, Value2 contient toujours un Double pour les dates et Currency alors que value contient une date ou pour les currency une valeur double arrondie à quatre décimales.

A+
 
Dernière modification par un modérateur:

MJ13

XLDnaute Barbatruc
Re : Find et format de date

Re ,Bonjour Ges

Value2 contient toujours un Double pour les dates et Currency alors que value contient une date ou pour les currency une valeur double arrondie à deux décimale.

Merci pour cette précison. Mais la cela devient un peu trop compliqué pour mon petit cerveau :eek:. Le problème avec Excel est qu'il faut être presque informaticien ;).

Mais cette discussion entre tous les participants (pour moi, cela sert à cela le forum) est très intéressante et peut résoudre bien des problèmes :).
 
G

Guest

Guest
Re : Find et format de date

Re,

Michel à dit:
:) Le problème avec Excel est qu'il faut être presque informaticien:)

Il ne reste plus que quelques rares spécimens du genre, capables d'être pointus dans tous les domaines de l'informatique (du matériel au logiciel). des tronches quoi:)

Pour en revenir à value2, il permet de s'affranchir du type 'Date'.
Mets une date dans une cellule.
Dans la fenêtre exécution vbe tapes et valide:
?ActiveCell.Value
tu vois affiché une date 19/11/2011 pour aujourdhui
?activeCell.Value2
donnera 40866
?ActiveCell.Value*1
donnera 40866

Dans une autre cellule tapes
12,12365478
et mets la au format monaitaire
?activecell.Value
donnera 12,1237 (4 décimales)
?activecell.Value2
donnera 12,12365478

Cette différence peut être importante si tu veux détourner des millièmes de centimes:)

A+++
 

Discussions similaires

Réponses
2
Affichages
253
Réponses
2
Affichages
312

Statistiques des forums

Discussions
312 239
Messages
2 086 494
Membres
103 234
dernier inscrit
matteo75654548