Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/02/2011, 08h11   #1
Membre du Club
 
Inscription : novembre 2009
Messages : 68
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 68
Points : 52
Points : 52
Par défaut Problème avec les dates

Bonjour,

je générer un fichier excel à partir d'un etat créé au préalable.

Code :
DoCmd.OutputTo acOutputReport, "RPT_HousingParAgence_Xl", acFormatXLS, "test.xls"
ce code marche parfaitement mais j'aimerais que la date du jour soit comprise dans le nom du fichier je fais donc :

Code :
DoCmd.OutputTo acOutputReport, "RPT_HousingParAgence_Xl", acFormatXLS, "test" & Now & ".xls"
mais le compilateur n'aime pas le now.

je reçois l'erreur 2032 impossible d'enregistrer les données sélectionnées.

Je vous remercie d'avance de votre aide.
utan88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 09h43   #2
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
Par défaut Fonction Now

Now renvoie la Date et l'heure en cours au format défini dans les paramètres régionaux de Windows (par ex. : 08/02/2011 12:04:36). Cette valeur comporte des caractères qui ne peuvent pas être utilisés dans un nom de fichier (/ et : ).
Donc, il faut les remplacer avant d'utiliser la valeur renvoyée par la fonction dans la composition du nom sous lequel on veut enregistrer le fichier.
Personnellement, j'utilise ce genre de code :
Code :
1
2
3
4
 Dim StrDateSauv As String       'Le jour de la sauvegarde
    'Recherche de la date du jour sous format aaaammmjj
    StrDateSauv = str(Int(Date))
    StrDateSauv = Replace(StrDateSauv, "/", "_")
ensuite j'utilise StrDateSauv dans le code où je crée le nom sous lequel le fichier sera enregistré.
Bon travail!
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 09h59   #3
Membre du Club
 
Inscription : novembre 2009
Messages : 68
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 68
Points : 52
Points : 52
merci de votre réponse sa marche nickel mais j'aimerais garder l'heure également mais avec now la partie heure saute

si vous avez qqch à me proposer ce serait le must

merci d'avance
utan88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 10h15   #4
Membre Expert
 
Homme Pierre ANTOINE
Inscription : février 2008
Messages : 650
Détails du profil
Informations personnelles :
Nom : Homme Pierre ANTOINE
Âge : 43
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : février 2008
Messages : 650
Points : 1 302
Points : 1 302
Bonjour

Dans l'exemple de RobiPMS, on ne gardait que la date, c'est à dire la partie entière du réel double correspondant à la date (ne pas oublier que pour access et autre, la date est en fait un nombre, au format réel double, dont la partie entière correspond au nombre de jour depuis le 31 décembre 1899, et la partie décimale, à l'heure, mais j'ai une absence sur sa signification exacte).

Pour récupérer l'heure, il faut ajouter quelque chose comme

Code :
1
2
3
4
 Dim StrDateSauv As String       'Le jour de la sauvegarde
    'Recherche de la date du jour sous format aaaammmjj
    StrDateSauv = str(Int(Date)) & str((date)-int(date))
    StrDateSauv = Replace(StrDateSauv, "/", "_")
Je n'ai pas essayé, donc sans garantie de réussite immédiate.

Pierre
pier.antoine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 10h27   #5
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
Par défaut Now

Essaie ceci :
Code :
1
2
3
Dim MyString
MyString = Format(Now, "yyyy-mm-dd_Hh-Nn")
Me.Controls!DateEncodage.Value = MyString
Chez moi, ça me renvoie la date et l'heure dans un format utilisable pour ton nom de fichier.

NB : si tu n'as pas besoin des zéros non significatifs, utilise h et N pour les heures et minutes.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 10h44   #6
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
Bien entendu, utilise les deux premières lignes de mon code! La troisième est relative au test que j'ai fait dans une application.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 10h57   #7
Membre du Club
 
Inscription : novembre 2009
Messages : 68
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 68
Points : 52
Points : 52
merci bien sa marche
utan88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h06.


 
 
 
 
Partenaires

Hébergement Web