rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

VBA Excel Modification de la date en fonction

Posté par a.dequidt, le jeudi 6 septembre 2007 à 09:30:53
Salut,

Je cherche a ce qu'a l'ouverture de mon classeur, si celui ci possede le nom "logiciel_offre.xls", on affecte aux cellules C12 et D13 la date d'aujourdhui:


Private Sub Workbook_Open()

Dim ToDay As Date
If ActiveWorkbook.Name = "Logiciel_offres_v8.xls" Then
Range("C12:E12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("D13").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
End If
End Sub


Et je voudrais qu'a l'ouverture d'une coipe de ce fichier, la date ne soit pas celle d'aujourd'hui mais celle de la création de ce fichier
Configuration: Windows 2000
Internet Explorer 6.0
Répondre à a.dequidt  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Papou93, le jeudi 6 septembre 2007 à 20:49:46
Bonjour a.dequidt,

J'ai déjà répondu à cette question dans ton post Aide pour VBA sous Excel Aide pour VBA Excel du 04/09/2007.

Il s'agit bien de la même question, non ?

Cordialement.
Répondre à Papou93

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
a.dequidt, le vendredi 7 septembre 2007 à 08:42:29
En fait cette solution ne marche pas, mais j'ai pensé a autre chose....


Je m'explique.

En C12 et D13, la date d'aujourd'hui via la fonction =AUJOURDHUI()
en M1, la date de l'ancienne ouverture via une copie de la date a la fermeture

J'aimerai créer une boite de dialogue a l'ouverture du fichier, qui informerai l'utilisateur de la date de l'ancienne ouverture, et lui laisserai le choix de la date, soit la date de l'ancienne ouverture soit la date
Répondre à a.dequidt

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Papou93, le mercredi 12 septembre 2007 à 08:51:41
Bonjour a.dequidt,

Voici la solution qui me paraît la plus simple :

Private Sub Workbook_Open()
With Sheets("feuil1").[m1]
If Not IsDate(.Value) Then .Value = Date: Exit Sub
Select Case .Value
Case Is = Date
Exit Sub
Case Else
R = MsgBox("La date actuelle du fichier est : " & .Value & vbCrLf & _
"Voulez-vous la remplacer par la date du jour ?", vbYesNo + vbQuestion, "Date fichier")
If R = vbYes Then .Value = Date
End Select
End With
End Sub


Je m'explique :

A l'ouverture du classeur, le programme teste la valeur contenue dans la cellule M1 : si elle est vide, ou contient autre chose qu'une date, alors M1 est mise à jour avec la date du jour.
Si M1 contient la date du jour, on sort du programme sans rien changer.
Si M1 contient une date antérieure à la date du jour, une boîte de dialogue propose une mise-à-jour qu'on est libre d'accepter ou non.
Enfin, il suffit d'entrer la formule [=M1] dans les cellules C12 et D13.

NB : remplaces "feuil1" par le nom de ta feuille.
[m1] est l'équivalent de range("m1") et c'est plus simple à écrire.

Espérant avoir été utile.

Cordialement.
Répondre à Papou93
Logiciels pertinents trouvés dans les téléchargements
Télécharger Excel Viewer 2003Excel Viewer - Avec Microsoft Office Excel Viewer 2003, vous pouvez ouvrir, afficher et imprimer des classeurs Excel (fichiers XLS ), même...Catégorie: Tableur
Licence: Freeware/gratuit
Télécharger Index.dat Analyzer v 2.0Index.dat Analyzer - Index.dat Analyzer permet de voir, éditer et effacer le contenu de ces fichiers - théoriquement cachés - qui participent aux...Catégorie: Anonymat/Confidentialité
Licence: Freeware/gratuit
Télécharger GANTT Project 2.0.7GANTT Project - GanttProject est un outil de gestion de projet libre, permettant de réaliser des diagrammes de GANTT afin de planifier un...Catégorie: Gestion de projet
Licence: Open Source
Télécharger BurnAtOnce 0.99.5BurnAtOnce - Burn At Once est un logiciel de gravure libre, possédant une interface minimaliste mais des fonctionnalités intéressantes : ...Catégorie: Gravure
Licence: Open Source
Plus de logiciels gratuits sur « VBA Excel Modification de la date en fonction »