1000 ième - DatDif

andré

XLDnaute Barbatruc
Salut à vous tous,

Son service de programmation étant momentanément surchargé, notre ami Bill m'a demandé de vite vous écrire une petite formule corrigeant l'erreur de la fonction Datedif (lol).

Désirant y apporter ma petite touche personnelle, j'ai cru bon de ne pas afficher les années, mois et jours, si ceux-ci sont égaux à zéro (j'espère qu'il appréciera).

Je compte sur vous pour vérifier cette formule car, malgré mes divers tests, il se pourrait qu'une petite erreur s'y soit encore glissée.
Je vous serais reconnaissant de m'en avertir, discrètement comme à votre habitude.

La suite du programme : étendre cette formule aux heures, minutes et secondes, puis écrire les nombres en toutes lettres (relol).
J'ai déjà pris contact avec un ancien participant éphémère de ce site pour estimer le montant probable de mes émoluments.

Maintenant il est temps que je me prépare pour le défilé (c'est aujourd'hui fête nationale en Belgique), j'ai entendu dire qu'il y a des places réservées aux anciens combattants . . . d'XLD.

Ândré (dit le diable mousseux).
[file name=datedif_V2.zip size=3328]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/datedif_V2.zip[/file]
 

Gael

XLDnaute Barbatruc
Bonjour André,

J'ai encore appris un peu plus sur les formules nommées grace à toi (c'est une erreur, mais je ne les utilise pas assez souvent).

Tu as dit qu'il ne restait plus qu'à écrire les chiffres en lettres, dans la macro complémentaire MOREFUN, il y a une fonction NBTEXTE qui fait ça. En l'appliquant à ta formule, DATDIF devient:

=SI(AnNbre>0;NBTEXTE(AnNbre)&AnTxt;'')&SI(MoisNbre>0;NBTEXTE(MoisNbre)&MoisTxt;'')&SI(JourNbre>0;NBTEXTE(JourNbre)&JourTxt;'')

et le résultat:

Deux ans Un mois Deux jours
Deux ans Un mois Un jour
Deux ans Un mois
Deux ans Vingt-neuf jours
Deux ans Vingt-huit jours

Un an Deux jours
Un an Un jour
Un an
Onze mois Trente jours
Onze mois Vingt-neuf jours

Un mois Deux jours
Un mois Un jour
Un mois
Vingt-neuf jours
Vingt-huit jours

Encore merci et bravo.

@+

Gael
 
D

DBP

Guest
Bonsoir André, Le Forum,

Mes félicitations pour ton DatDif qui rétrécis l'original est-ce au lavage ? Ou la précision ? mais je continue à cherché s'il y a une 'erreur' comme l'a fait Yeahou.

Autrement Bravo pour ta 1000eme;

Bernard.

Ps : Sayez j'ai trouvé ... le EUH! :woohoo:
 

andré

XLDnaute Barbatruc
Salut à vous tous,

Je tiens à vous remercier bien sincèrement pour tous vos témoignages de sympathie.

Ceux-ci compensent largement les absences de réponse à tous les messages laissés sans suite, et redonnent quelque peu l'envie de continuer à aider les autres.

N'oublions quand même pas, et cela ne sera jamais assez répété, que nous devons tout ceci à David XLD (que je salue au passage).

Ândré.
 

Gibson94

Nous a quitté
Repose en paix
Salut André, le forum,

J'ai le même soucis que Yeahou et Dugenou lorsque que je le sauvegarde chez moi, par contre j'aimerai bien qu'on me dise où trouver la fonction complémentaire fin.mois et comment l'installer car je plane complétement...

A part çà, je t'adresse à mon tour toutes mes félicitations, André, pour ton 1000ème qui va encore nous apprendre pleins de trucs. Tout comme Gael, je connais très peu les formules nommées et rien ne vaut des exemples comme celui-ci pour apprendre à les utiliser.

Qu'est-ce que çà fait de passer 'accro' ??? dis-nous...racontes...

A bientôt Hervé et encore merci pour tout ce que tu fais pour nous...
 

Gibson94

Nous a quitté
Repose en paix
Re bonjour tout le monde,

Merci Pascal pour le tuyau, tu ne t'es pas trompé, c'est exactement çà... et hop une démo en plus stockée dans mon dossier 'Super forum XLD'...lol... et tout çà en moins de 5 mns après avoir posé ma question...merci encore Pascal et toujours Bravo André.
 

andré

XLDnaute Barbatruc
Salut Gibson94, Pascal76, Gael et les autres,

Merci à toi Pascal d'avoir répondu à ma place !

Les macros complémentaires d'Xl me donne aussi l'occasion de répondre à Gael.

Les macros complémentaires de MOREFUN sont très bien, même très très bien, mais elles posent un gros problème, tout comme toutes les autres d'ailleurs.

Si j'avais employé ces macros dans mon petit programme, je n'aurais pu transmettre celui-ci à des amis, parce qu'ils seraient obligés de télécharger Morefun, et comme bon nombre d'entre-eux sont totalement imcapables de le faire, cela pose un sérieux problème.

J'employerai ces macros le jour où elles seront automatiquement copiées dans le classeur où elles sont employées, de sorte qu'elles ne posent aucun problème à ceux qui ne les ont pas.

Pour celles d'Xl, il suffit de leur signaler (quand on ne l'oublie pas - lol) qu'il faut cocher l'utilitaire d'analyse, et tout fonctionne.

Pour Gibson, le fait de passer 'accros' laisse l'impression de faire partie du grand 'cirque' qu'est XL (accros, n'est-ce pas l'abréviation d'acro ... bate ?).

De plus en plus je me rend compte qu'Xl nécessite de savoir 'jongler' avec toutes les fonctions proposées et de les employer à bon escient.

Au fil du temps, l'imagination prend une part de plus plus importante sur la connaissance : savoir contourner le problème par l'une ou l'autre astuce, et ne jamais oublier qu'il faut d'abord apprendre à bien marcher avant de vouloir courrir.

Ândré.
 

Gael

XLDnaute Barbatruc
Bonjour à tous,

Merci de ta réponse André. Tu as raison concernant les macros complémentaires, la portabilité des applications est moins évidente. J'en tiendrai compte lorsqu'on peut facilement utiliser une formule.

Bien que je conseille souvent Morefun lorsqu'une de ses fonctions répond à une demande, ici c'était juste pour le fun en réponse à la suite dont tu avais parlé et parceque je n'avais jamais essayé cette fonction.

Par contre pour les heures, minutes et secondes, ce sera plus compliqué.

@+

Gael
 

jeanpierre

Nous a quitté
Repose en paix
Bonsoir Ândré, Pascal76, gipehel, dg62, Abel, 2passage, Tibo, Yeahou, Dugenou, (je vais en oublier), Hervé, Gael DBP,, gibson94, le Forum et tous les autres,

Eh bien, un Grand Merci Ândré, car sur la présentation '3 ans 3 mois 17 jours (par exemple) je vais gagner en cellules car je suis encore resté sur des choses du type : C2 = Ent(B2-A2) pour les années : d2 = ((B2-A2) - C2) * 12 et ainsi de suite (ou quelque chose du genre).... etc. etc. (avec le risque d'avoir un léger décalage sur de longues périodes...
Alors un GRAND MERCI à toi et à ceux qui ont pu t'inspirer.

Avant d'autres problèmes de connexion sur le Forum, je vous souhaite une bonne soirée et à toi Ândré, et en plus, encore plein de bonnes idées comme celle-ci.

Jean-Pierre

Message édité par: jeanpierre, à: 22/07/2005 20:34
 
O

okolo

Guest
Bonjour Ândré, bonjour le forum,

J'ai été agréablement surpris de trouver une formule que je cherchais depuis des mois, 2 minutes après mon inscription, en tout cas en partie.

Puisque vous cherchez une suite à donner à datedif, je vous soumets le problème suivant: je voudrais calculer la différence de deux champs contigus contenant des dates en format date heure. Je voudrais qu'excel me sorte x jours y heures z min, sachant que les activités à calculer peuvent être à cheval sur plusieurs jours, mais pas toujours.

Merci d'avance

Okolo
 
Bonjour

et une macro spéciale André, une !

Code:
Private Analyse_Exc As Boolean, Analyse_Vba As Boolean
Private Sub Workbook_Open()
    On Error Resume Next
    Analyse_Exc = AddIns('Utilitaire d'analyse').Installed
    Analyse_Vba = AddIns('Utilitaire d'analyse - VBA').Installed
    AddIns('Utilitaire d'analyse').Installed = True
    AddIns('Utilitaire d'analyse - VBA').Installed = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    AddIns('Utilitaire d'analyse').Installed = Analyse_Exc
    AddIns('Utilitaire d'analyse - VBA').Installed = Analyse_Vba
End Sub

A+

Ps: je l'aurai, un jour je l'aurai !
 

andré

XLDnaute Barbatruc
Salut Yeahou et okolo,

Je ne suis pas sur de saisir excatement la portée du message de Yeahou.

Moi je n'y comprends rien en macro, alors ...

Par contre, lorsque tu écris : 'je l'aurai, un jour je l'aurai', je suppose que tu fais allusion à une jolie fille que tu viens de voir passer ?
Méfie-toi !

Quant à okolo, il me semblait que les formules étaient assez claires pour en comprendre le raisonnement, qu'il suffit de transposer, en l'adaptant quelque peu (beaucoup).
Je veux bien te faire un exemple, mais alors il faudrait que tu précises le format de la cellule.
Tu peux encoder 14 22:58 en format standard, format texte ou jj hh:mm
Ou bien est-ce vraiment 14 heures 22 minutes 58 secondes (format texte, bien sur !).

Ândré
 
C

C@thy

Guest
Félicitations, André, ça me rappelle un truc du genre DEH(Dates et heures)CMC(C@thyMoniqueCéléda (coucou les filles!)).

J'avais remarqué que la fonction DATEDIF d'excel ne donnait pas toujours le bon résultat, alors du coup j'utilise une fonction. Ta formule est nickel chrome, dré (euh, pardon, ici t'es André!)

Biz

C@thy [file name=AgeDuCapiutaine.zip size=11213]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/AgeDuCapiutaine.zip[/file]
 

Pièces jointes

  • AgeDuCapiutaine.zip
    11 KB · Affichages: 12

C@thy

XLDnaute Barbatruc
Zut, je mé gouré, le fichier avé la macro-fonction cé celuilà!

Biz

C@thy [file name=AgeDuCapitaine.zip size=15127]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/AgeDuCapitaine.zip[/file]
 

Pièces jointes

  • AgeDuCapitaine.zip
    14.8 KB · Affichages: 9
  • AgeDuCapitaine.zip
    14.8 KB · Affichages: 9
  • AgeDuCapitaine.zip
    14.8 KB · Affichages: 16

Statistiques des forums

Discussions
311 724
Messages
2 081 938
Membres
101 844
dernier inscrit
pktla