Find date résultant d'une formule ET avec format personnalisé

vgendron

XLDnaute Barbatruc
Bonjour le forum

c'est un sujet vu et revu. et pourtant.. je me casse les dents dessus...

Dans la PJ:
J'ai en lignes, les dates de l'année (1er Décembre annee n-1==> 31 Décembre annee n)

-->Ligne3 en format "ddd" pour avoir Lun, mar....
=ligne5

-->Ligne 4 en format "Date Courte"
=ligne5

-->ligne 6 en format "dd" pour n'avoir que le numéro du jour
1er jour = formule avec Date()
jours suivants = formule = jour précédent +1
==> toutes les dates des 3 lignes résultent de formule

-->cellule S8: la date (format date courte) à récuperer et chercher

j'en arrive au besoin
avec la méthode find (ou autre chose finalement), récuperer la date en S8 et la retrouver dans au moins une de ces lignes

==> le code récupère S8 de deux façons.. DateValue et directement la range(S8")
et une troisième ou j'utilise directement "Date"

petit test If <>""
les trois versions sont retrouvées

Quand je lance CE MEME CODE sur le vrai projet: il ne trouve plus rien SAUF la 3eme version DATE !
et attention.. j'ai fait un copier coller du vrai projet vers le classeur ci joint et me suis assuré des formats identiques : j'en perd mes dents, après les avoir cassées :-D

dernière subtilité..

si je redéfini mes variable en tant que Date, le "petit test" ne lui plait plus.......il continue néanmoins de me trouver les trois dates dans la PJ et juste la 3eme version dans mon fichier....

Quelqu'un aurait il une idée avant que je ne doive aller commander un appareil dentaire? :-D
 

Pièces jointes

  • FindDates.xlsm
    30.1 KB · Affichages: 29
Dernière édition:

Dranreb

XLDnaute Barbatruc
D'une façon générale je n'aime pas énormément la méthode Find. Son résultat dépend de beaucoup trop de facteurs non précisés dépendant du dernier positionnement des options fixées lors de la dernière utilisation manuelle de la boîte, qui oblige à préciser au moins tous ceux générés par l'enregistreur de macro. Je préfère quand on ne peut mieux faire le WorksheetFunction.Match. Mais quand un accès direct par simple calcul est possible, il ne faut pas passer à coté, nom d'une pipe !
 

vgendron

XLDnaute Barbatruc
il ne faut pas passer à coté, nom d'une pipe !
:-D on est bien d'accord, c'est juste que j'avais juste envie de comprendre le pourquoi du comment..
et visiblement. la méthode FIND, c'est pas la meilleure ou performante de VBA ;-D (encore que. y a bien quelqu'un qui passera par la pour dire "si.. elle est performante, pour peu qu'elle soit utilisée correctement...")

:-D

pour le projet complet, je me suis arrangé autrement. donc la. c'est pour le bonus
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 205
Membres
103 157
dernier inscrit
youma