Rechercher : dans
Par :

Récupérer une date sous excel

Dernière réponse le 19 jan 2006 à 15:23:25 The cube, le 18 jan 2006 à 17:14:17 
 Signaler ce message aux modérateurs

Bonjour, je suis débutant en VB et j'ai un petit soucis, je voudrais pouvoir enregistrer mon classeur sous format .xls, tout en l'enregistrant sous la date du jour.
C'est à dire JJ/MM/YYYY.xls
Pour cela j'ai écris le programme qui suit mais il le save de la facon MM/YYYY:


ActiveWorkbook.SaveAs Filename:="U:\stagiaires\taittinger\rapport sur excel\Rapport\Rapport_" & Evaluate("=TEXT(TODAY(),""MMYYYY"")") & ".xls"

COMMENT FAIRE??????

Merci

Meilleures réponses pour « récupérer une date sous excel » dans :
Travailler sur les dates avec Excel VoirVous avez une date en C3 par exemple, et vous voulez connaitre : le N° de la semaine correspondant à cette date : = NO.SEMAINE(C3;2) Nota : 2 correspond à un système de semaines commençant le Lundi, et 1 pour le Dimanche. ...
Différence entre dates avec la fonction DATEDIF VoirLa fonction DATEDIF n'est pas documentée dans Excel, mais par contre sur CCM vous pouvez trouver les possibilités offertes. En voici un résumé.   La syntaxe =DATEDIF(date début;date fin;type de calcul) date début : doit être une valeur date...
Javascript - L'objet Date VoirLes particularités de l'objet Date L'objet Date permet de travailler avec toutes les variables qui concernent les dates et la gestion du temps. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser. La...
VBScript - Les fonctions de date et de temps VoirLes fonctions de date et de temps Fonction Description Date Retourne la date du système DateAdd(interval, number, date) Ajoute un intervalle de temps (interval) à une...

1

biloue, le 18 jan 2006 à 18:09:48

Perso j'ai pris la solution de mettre la date du jour dans une varaible et ensuite de mettre la variable dans le nom de mon fichier ça marche très bien.

Dim D as String

D= Day(Now) & "_" & Month(Now) & "_" Year(Now)
ActiveWorkbook.SaveAs Filename:="U:\stagiaires\taittinger\rapport sur excel\Rapport\Rapport_" & D & ".xls"



Attention le caractère / est interdits dans les noms de fichier

Répondre à biloue

2

the cube, le 19 jan 2006 à 09:09:34

Je te remercie biloue, ca marche trés bien.
Mais tu vois je voudrais lancer cette macro automatiquement, c'est à dire que moi j'ai pensé que si je mettais une valeur logique (=1) dans une cellule, elle le ferai automatiquement.Mais non

Moi j'ai écris ce prog, mais malheureusement,il fo ke je fasse à chaque fois outils, macro, macro puis exécuter.
COMMENT FAIRE????

Sub EnregRapport()

Dim D As String
D = Day(Now) & Month(Now) & Year(Now)

If Range("C2").Value >= 1 Then

ActiveWorkbook.SaveAs Filename:="U:\stagiaires\taittinger\rapport sur excel\Rapport\Rapport_" & D & ".xls"

End If
End Sub
______________________________________________________

A mon avis il faut écrire, si C2 passe de 0 à 1(front montant) alors faire


Merci

Répondre à the cube

3

the_cube, le 19 jan 2006 à 11:26:57

Je te remercie biloue, ca marche trés bien.
Mais tu vois je voudrais lancer cette macro automatiquement, c'est à dire que moi j'ai pensé que si je mettais une valeur logique (=1) dans une cellule, elle le ferai automatiquement.Mais non

Moi j'ai écris ce prog, mais malheureusement,il fo ke je fasse à chaque fois outils, macro, macro puis exécuter.
COMMENT FAIRE????

Sub EnregRapport()

Dim D As String
D = Day(Now) & Month(Now) & Year(Now)

If Range("C2").Value >= 1 Then

ActiveWorkbook.SaveAs Filename:="U:\stagiaires\taittinger\rapport sur excel\Rapport\Rapport_" & D & ".xls"

End If
End Sub
______________________________________________________

A mon avis il faut écrire, si C2 passe de 0 à 1(front montant) alors faire


Merci

Répondre à the_cube

4

biloue, le 19 jan 2006 à 11:57:03

Je pense qu'il faut que tu utilise l'évènement de ta cellule sur ta feuille excel.

place le code suivant sur le code vba de la feuille concernée

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = "x" and target.row = "y" Then ' remplacer "x" par le numéro de la colonne et "y" numéro de la colonne

     If Range("C2").Value >= 1 Then 
         MsgBox "Coucou" ' à remplacer par l'appel à la macro
     End if
  End If
End Sub


Voilà

Répondre à biloue

5

the_cube, le 19 jan 2006 à 12:43:33

Comment je fais pour placer le code que tu ma donné sur le code vba de la feuille concernée.Dans l'éditeur de VBA tu vas dans l'arborescence de ton projet et tu choisi Feuille 1? C ca non?

Et quand tu dis :

If Target.Column = "x" And Target.Row = "y" Then ' remplacer "x" par le numéro de la colonne et "y" numéro de la colonne

X c'est le numéro de la ligne et Y est le numéro de ma colonne.

Et quand tu dis :

MsgBox "coucou" ' à remplacer par l'appel à la macro

L'appel à la macro c'est le nom de la macro?

excuse moi je suis débutant.

Merci beaucoup

Répondre à the_cube

6

JvDo, le 19 jan 2006 à 14:32:33

Bonjour,

indépendamment de ton besoin d'appel automatique de ta procédure, je te conseille de mettre les date à l'envers : AAAAMMJJ pour bénéficier de l'ordre chronologique lors d'un tri alpha sur les noms de fichiers

cordialement

Répondre à JvDo

7

the_cube, le 19 jan 2006 à 14:55:51

Est ce ke tu sais comment faire appelle à une macros,
moi j'ai fais msgbox"sub enregcellule" mais ca marche pas

Répondre à the_cube

8

 JvDo, le 19 jan 2006 à 15:23:25

Tu fais call nomdelaproc

s'il y a des paramètres à passer, tu les mets entre parenthèses dans l'ordre attendu pas la proc

Répondre à JvDo