| gérer une condition de date dans Excel ? RESOLU | |
|
|
Auteur | Message |
---|
Pascal 25410 Apprenti expert
Nombre de messages : 169 Age : 62 Localisation : A Routelle dans le Doubs 25410 Réputation : 0 Date d'inscription : 13/06/2006
| Sujet: gérer une condition de date dans Excel ? RESOLU Mer 21 Fév - 10:09 | |
| Bonjour Yora Senior,
J(espère que vous allez bien.
Vous m'avez aider pour un fichier Excel créer dans le but de connaître automatiquement l'age des adhérents d'une association d'après leurs dates de naissances.
Y a t'il la possibilité d'avoir directement sur l'ordi un avetissement l'orsque un anniverssaire arrive. Je souhaiterai avoir le jour même ou la veille une fenetre qui apparait sur mon ecran et qui me dit "anniverssaire de X ou Y". Et que cette fenètre reste jusqu'a ce que je clik dessus pour valider l'info.
Je demande peut-être beaucoup , mais je sais qu'avec vous rien n'est impossible.
Bien Amicalement et avec mes remerciemants Pascal
Dernière édition par le Mer 18 Juil - 21:26, édité 1 fois | |
|
| |
hourrrah Administrateur
Nombre de messages : 5401 Localisation : un émigré breton à Bordeaux en Aquitaine Réputation : 39 Date d'inscription : 30/04/2005
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Mer 21 Fév - 10:42 | |
| AMHi Zimmer, Sachant que pour Excel, une date s'exprime aussi par un nombre (nombre de jours écoulés depuis une date de référence), l'ami Yora_senior va te mitonner une formule au petit poil. AMHicalement | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Mer 21 Fév - 15:23 | |
| Bonjour Pascal et Hourrrah,
Hourrrah : comme d'habitude je vais essayer.
Pascal : il faudrait préciser dans quelles conditions vous voulez afficher ce message d'information :
- au lancement du programme de facturation que j'ai fait ou, si cela n'a rien a voir avec cette application, dès le lancement d'Excel ?
- dès le démarrage du PC ? dans ce cas il vaut mieux utiliser par exemple Outllook ou un utilitaire (il en existe) mais il y aura la contrainte de dupliquer votre fichier d'adresses Excel.
Si c'est à partir d'Excel il faudrait que vous m'affichiez la structure de votre fichier.
Dans l'attente de votre réponse, Amicalement. | |
|
| |
Pascal 25410 Apprenti expert
Nombre de messages : 169 Age : 62 Localisation : A Routelle dans le Doubs 25410 Réputation : 0 Date d'inscription : 13/06/2006
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Mer 21 Fév - 19:57 | |
| Bonjour Yora Senior zt Hourrrah Hourrrah, j'était sur de pouvoir compter sur les têtes pensantes du Forum. Ami Yora, je ne cherche pas à coupler le fichier "moyenne d'age" avec le fichier "facturations" Je souhaite avoir aussi simplement que possible un avertissement visuel dans un coin de l'écran (peu importe lequel) qui reste afficher tant que je n'ais pas valider par un Clik "OK. ou VU" je souhaiterais que cela fonctionne dès l'ouverture:
- soit de l'ordi,
- soit de la messagerie outlock,
car c'est pour pouvoir envoyer un petit message de "bon anniverssaire" aux adhérents de mon club dont la date de naisssance correspond aux dates entrées dans le fichier "moyenne d'age" Techniquement !!! je sais pas si c'est envisageable , mais je vous fait confiance. Pour vous afficher la structure que dois-je faire et comment Je vous joint a toutes fin utile le fichier actuel en ùmesagerie direct. Amicalement et merci d'avance Pascal | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Jeu 22 Fév - 18:55 | |
| Bonsoir Pascal,
Compte tenu de votre réponse je vous adresserai sans doute 2 peut-être 3 solutions.
Mais pour cela je vais installer Outlook, que je n'ai encore jamais installé personnellement car je n'en avais pas l'utilité, mais que j'ai survolé pour les besoins d'une stagiaire il y a au moins 5 ans. Et il est vrai qu'il y a de nombreuses possibilités et il est certain qu'il peut répondre à votre demande.
Je vous tiens au courant.
Amicalement. | |
|
| |
Pascal 25410 Apprenti expert
Nombre de messages : 169 Age : 62 Localisation : A Routelle dans le Doubs 25410 Réputation : 0 Date d'inscription : 13/06/2006
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Jeu 22 Fév - 19:33 | |
| Bonjour Yora-Senior Merci de prendre du temps pour ma demande, mais comme d'habitude, il n'y a rien qui presse. c'est un petit plus pour ma gestion d'association afin d'améliorer les contacts relationnel avec les adhérents. Encore merci et à bientôt amicalement Pascal | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Lun 26 Fév - 19:02 | |
| Bonsoir Pascal,
Pour votre demande j'ai installé et regardé les possibilités avec Outlook. Finalement je pense que ça complique beaucoup les choses.
Il faudra de toutes façons écrire une procédure en VBA.
Je vous propose une chose : votre fichier "Moyenne d'âge...xls" s'ouvre automatiquement au démarrage du PC.
A travers la procédure VBA, une boite de dialogue vous indique s'il y a des anniversaires à souhaiter ou non. Un clic sur un bouton pour fermer Excel.
On pourra d'ailleurs ensuite faire la liaison avec Outlook, c'est-à-dire que vous pourriez écrire et envoyer le ou les messages sans quitter Excel (mais j'ai vu que pour Excel 2003 il semble nécessaire de télécharger une mise à jour sur le site de Microsoft).
Dîtes moi ce que vous en pensez ?
Une question toute bête : pour les personnes nées le 29/02 (donc une année bissextile), pour les années non bissextiles vous considérez que l'anniversaire est le 28/02 ou le 01/03 ?
Amicalement. | |
|
| |
hourrrah Administrateur
Nombre de messages : 5401 Localisation : un émigré breton à Bordeaux en Aquitaine Réputation : 39 Date d'inscription : 30/04/2005
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Lun 26 Fév - 19:26 | |
| AMHis A année révolue, donc le 1er mars, à défaut du 29 février.. Financièrement parlant. Très AMHicalement | |
|
| |
Pascal 25410 Apprenti expert
Nombre de messages : 169 Age : 62 Localisation : A Routelle dans le Doubs 25410 Réputation : 0 Date d'inscription : 13/06/2006
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Lun 26 Fév - 21:39 | |
| Bonsoir Yora -senior pour le 29 02je prefere souhaiter un jour plus tôt danc le 28, c'est plus sure. Merci d'avance pour le casse tête amicalement Pascal coucou Hourrrah, pas de chance je ne suis pas du même avis que toi mais ce n'est pas grave amicales salutations Pascal | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Dim 4 Mar - 19:22 | |
| Bonsoir Pascal,
Voici ce que j'ai fait :
1) j'ai apporté 2 modifications à votre fichier : -dans la colonne 6 j'ai modifié la formule qui laissait apparaître "FAUX" lorsque la date de naissance n'était pas renseignée. Il manquait entre les 2 dernière parenthèses ;"" soit =SI(LC(-1)<>"";DATEDIF(LC(-1);L2C2;"y");"") au lieu de : =SI(LC(-1)<>"";DATEDIF(LC(-1);L2C2;"y"))
-si vous ouvrez votre fichier et que vous sélectionnez la 1ère cellule en haut à gauche puis vous appuyez sur la touche "Ctrl" puis "Fin" vous vous retrouvez en lignes 4991 et colonne 235 alors que le nombre de lignes utilisées pour l'instant est de 129 et le nombre de colonnes de 10. Ce n'est pas très grave pour l'instant mais ça pourrait le devenir, j'ai donc rectifié, mais j'ai renommé ce fichier "Age_adher.xls" donc il n'écrasera pas le vôtre au cas où vous voudriez le visualiser.
2) pour le traitement des dates d'anniversaire :
-j'ai créé un fichier "Anniversaire" qui contient tout le code nécessaire au traitement. Pourquoi ? parce que si la procédure "Auto_Open" est intégrée à votre fichier de données, non seulement elle se lancera au démarrage de votre PC mais aussi à chaque fois que vous ouvrirez votre fichier pour une mise à jour.
-je vous adresse donc les 2 fichiers que vous copierez dans votre répertoire.
-ensuite vous créez un raccourci à partir du fichier "Anniversaire" et vous placez ce raccourci dans le menu "Démarrer" (par exemple : C:\Documents and Settings\All Users\Menu Démarrer\Programmes\Demarrer ou C:\Documents and Settings\Administrateur[nom]\Menu Démarrer\Programmes\Demarrer )
3) dans ce fichier "Anniversaire" la dernière date de traitement est sauvegardée. En effet si je me contente de comparer la date d'anniversaire avec la date du jour, lorsque vous n'aurez pas démarré votre PC ne serait-ce qu'une seule journée le ou les anniversaires concernant ce jour ne vous serait(ent) jamais signalés.
N'hésitez pas à me signaler un problème éventuel.
Ci-dessous le code utilisé :
Option Explicit Public nom, pren As String Public datp, datn, datj, datp1, datj1, datn1, j, m, a As Variant Public ab As Double Public lgn, dlgn, lgnc, n As Long Public bissext As Boolean Public mf1, mf2 As Object
Sub Auto_Open()
CommandBars.ActiveMenuBar.Enabled = False Dim CmdB As CommandBar For Each CmdB In Application.CommandBars If CmdB.Type <> msoBarTypeMenuBar Then CmdB.Enabled = False Next CmdB With Application .DisplayFullScreen = True .DisplayFormulaBar = False .CommandBars("Full Screen").Visible = False .DisplayStatusBar = False End With ActiveWindow.DisplayWorkbookTabs = False Application.EnableAutoComplete = False
Workbooks.Open Filename:="Age_adher.xls" Workbooks("Age_adher.xls").Sheets("moyenne_age").Copy Before:=Workbooks("Anniversaire.xls").Sheets("histor") Workbooks("Age_adher.xls").Close SaveChanges:=False Windows("Anniversaire.xls").Activate Set mf1 = Sheets("moyenne_age") Set mf2 = Sheets("histor") mf2.Activate 'date du dernier traitement + 1 jour datp = mf2.Cells(1, 1) + 1 'nombre de lignes d'anniversaires à souhaiter trouvées lors de la dernière sauvegarde lgnc = mf2.Cells(1, 2) 'suppression de ces lignes If lgnc > 1 Then mf2.Activate Range(Cells(2, 1), Cells(lgnc, 3)).Select Selection.ClearContents End If
lgnc = 1 'Date du jour datj = Date 'année en cours a = Right(datj, 4) 'Déterminer si l'année est bissextile ou non ab = Val(a) ab = (ab Mod 4)
If ab = 0 Then bissext = 1 Else bissext = 0 End If
'1ère ligne de données sur la feuille "moyenne_age" lgn = 3 'initialisation de la variable qui va contenir le numéro de la dernière ligne de données dlgn = 0
'recherche de la dernière ligne de données Dlign: nom = mf1.Cells(lgn, 1) If nom <> "" Then lgn = lgn + 1 GoTo Dlign Else dlgn = lgn - 3 If dlgn = 2 Then MsgBox "Aucun enregistrement trouvé sur la feuille moyenne_age." & Chr(10) & Chr(13) _ & "Vérifiez votre fichier" _ & "Cliquez sur OK pour fermer l'application.", _ vbOKOnly + vbInformation + vbApplicationModal, "Information" Workbooks("Age_adher.xls").Close SaveChanges:=False Call Reaffich Application.Quit Exit Sub End If lgn = 3 GoTo Recherche End If
Recherche: datj1 = Right(datj, 4) datj1 = datj1 & Mid(datj, 4, 2) datj1 = datj1 & Left(datj, 2) datp1 = Right(datp, 4) datp1 = datp1 & Mid(datp, 4, 2) datp1 = datp1 & Left(datp, 2)
For n = lgn To dlgn datn = mf1.Cells(n, 6) If datn <> "" Then j = Left(datn, 5) m = Right(j, 2) j = Left(j, 2) Else m = "00" j = "00" End If If j = "29" And m = "02" And bissext = 1 Then j = "28" End If datn1 = a & m & j If datn1 >= datp1 And datn1 <= datj1 Then lgnc = lgnc + 1 nom = mf1.Cells(n, 1) pren = mf1.Cells(n, 2) mf2.Cells(lgnc, 1) = nom mf2.Cells(lgnc, 2) = pren mf2.Cells(lgnc, 3) = datn End If Next n Rows("1:1").Select Selection.EntireRow.Hidden = True If lgnc = 1 Then MsgBox "Aucun anniversaire à souhaiter aujourd'hui." & Chr(10) & Chr(13) _ & "Cliquez sur OK pour fermer l'application.", _ vbOKOnly + vbInformation + vbApplicationModal, "Information" Else MsgBox "Anniversaire à souhaiter aujourd'hui = " & lgnc - 1 & Chr(10) & Chr(13) _ & "Cliquez sur OK pour fermer l'application.", _ vbOKOnly + vbInformation + vbApplicationModal, "Information" End If Rows("1:1").Select Selection.EntireRow.Hidden = False mf2.Cells(1, 2) = lgnc Call Reaffich Application.Quit End Sub
Sub Reaffich() Dim CmdB As CommandBar For Each CmdB In Application.CommandBars If CmdB.Type <> msoBarTypeMenuBar Then CmdB.Enabled = True Next CmdB
With Application .DisplayFormulaBar = True .DisplayStatusBar = True End With Application.DisplayFullScreen = False Application.CommandBars("Full Screen").Visible = False Application.WindowState = xlMaximized CommandBars.ActiveMenuBar.Enabled = True ActiveWindow.DisplayWorkbookTabs = True Application.EnableAutoComplete = True Application.DisplayAlerts = False Worksheets("moyenne_age").Delete Application.DisplayAlerts = True ActiveWorkbook.Save End Sub
J'en profite pour vous confirmer que je modifie la semaine prochaine votre programme de facturation en fonction de vos dernières delmandes.
Amicalement | |
|
| |
Pascal 25410 Apprenti expert
Nombre de messages : 169 Age : 62 Localisation : A Routelle dans le Doubs 25410 Réputation : 0 Date d'inscription : 13/06/2006
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Dim 4 Mar - 21:29 | |
| Bonsoir Yora senior il est un peu tard et je trouve votre réponse à mon problème je vous remercie très vivement du boulot effectué. demain lundi j'essaye tous cela et je vous tiendrais au courant des résultats. avec mes plus vifs remerciements. très cordialement Pascal | |
|
| |
hourrrah Administrateur
Nombre de messages : 5401 Localisation : un émigré breton à Bordeaux en Aquitaine Réputation : 39 Date d'inscription : 30/04/2005
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Dim 4 Mar - 23:25 | |
| Ami Yora_senior, Bravissimo...!! A ce niveau-là, c'est beaucoup plus que de l'assistance ou de l'entraide. Que notre AMHi Pascal s'efforce AUSSI, en ces occasions, de progresser dans l'utilisation du code VBA.. Très AMHicalement | |
|
| |
Pascal 25410 Apprenti expert
Nombre de messages : 169 Age : 62 Localisation : A Routelle dans le Doubs 25410 Réputation : 0 Date d'inscription : 13/06/2006
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Lun 5 Mar - 10:59 | |
| Ami Yora Senior bonjour,
J'ai bien suivi vos instructions pour la mise en place des fichiers et la création du raccourci dans le menu démarrer. J'ai du commettre une erreur quelques part je je ne trouve pas ou !! J'ai refait la manip plusieurs fois J'ai redemarrer l'ordi plusieurs fois aussi. au lancement, j'ai un message qui me dit ' erreur execution 1004, "Age_adher.xls" introuvable, vérifié l'ortho........... et la validité de l'emplacement. Si vous essayez d'ouvrir le fichier ........... déplacé ou supprimé." J'ai essayé le bouton débogage et je tombe sur votre programme ou la ligne faisant référence au fichier "Age_adher.xls" est surlignée en jaune !? j'ai doonc essayé plein de possibilité pour la mise en place du fichier "Age_adher.xls" mais aucune solution ne marche. J'en conclu que j'ai merdu quelques part. Votre programme fait je crois référence a mon fichier d'origine. qui se trouve dans mon repertoire de gestion de l'association "CNB" et j'ai mis vos deux fichiers avec. puis selon vos instructions j'ai créer le raccourci dans le menu démarrer . Quel est donc l'anerie que j'ai fait ?? j'espère que je suis assez clair dans mes explications !!! mais je ne comprend pas toujours tout dans la mécanique de l'informatique Dans l'attente de vos précieux conseils, je vous transmet mes amicales salutations. Pascal | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Lun 5 Mar - 11:54 | |
| Bonjour Hourrrah,
Merci pour vos appréciations.
C'est bien ce qui me plait le plus. Ici il s'agit d'un tout petit programme.
Le programme de facturation, lui, contient environ 1500 lignes et 5 formulaires, mais c'est encore une petit programme.
J'ai encore actuellement 4 applications en cours pour des personnes recontrées sur ce forum ou il y a plus de 2 ans sur un autre forum que j'ai maintenant abandonné.
Il est évident bien sûr que je ne peux travailler à temps complet sur ce genre de chose (même s'il paraît que je suis devenu un "inactif").
Donc j'essaie de ne pas donner de délai trop juste.
Cordialement. | |
|
| |
Pascal 25410 Apprenti expert
Nombre de messages : 169 Age : 62 Localisation : A Routelle dans le Doubs 25410 Réputation : 0 Date d'inscription : 13/06/2006
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU Mer 7 Mar - 20:23 | |
| Bonjour à tous Pour ceux qui suivent le déroulement des choses, après quelques petits echanges de fichiers et de mails entre Yora senior et moi, pour des petits soucis de fonctionnement, le fichier "moyenne d'age" avec avertissement en cas de date anniverssaire et fonctionnel. Un grand merci à Yora pour son professionnalisme de retraité à temps plein qui bosse certainement plus d'heures sur son ordi que beaucoup d'autres rigolos ... !! C'est mon avis et cela n'engage que moi , mais je le partage avec qui voudra en prendre un morceau. A bientôt peut être pour d'autres questions informatique et bureautique. En attendant, Merci mille fois Monsieur YORA SENIOR pour le travail et les soucis que je vous donne régulièrement. En tous cas ,avec vous YORA plus ou YORA pas de problèmes. Respectueusement et très amicalement YORA SENIOR, et bonsoir à tous les internautes de AMH, Pascal et HOURRRAH | |
|
| |
Contenu sponsorisé
| Sujet: Re: gérer une condition de date dans Excel ? RESOLU | |
| |
|
| |
| gérer une condition de date dans Excel ? RESOLU | |
|