IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Export fichier : Nom incluant la date


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 19
    Points : 14
    Points
    14
    Par défaut Export fichier : Nom incluant la date
    Bonjour

    J'ai fait une petite base access dans lequel j'ai créé une macro transférer feuilleCalcul. Ce transfert me crée un fichier excel que j'ai nommé result. Mon souhait est de faire en sorte que le nom du fichier soit de la forme resultjjmmaaaa. jjmmaaaa étant la date de la veille.

    Par exemple nous somme le 13 Mars, le nom du fichier sera de la forme result12032006.

    Merci de maider

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Pour obtenir la Date du jour : Date()
    Pour avoir la date du jour precedent a partir d'une date donnee, interesse-toi a la fonction DateAdd().

    Ensuite utilise Year() Month() et Day() pour extraire chaque partie d'une date et ainsi pouvoir former le nom de ton fichier.

    En esperant t'aider.

  3. #3
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par Demco
    Pour obtenir la Date du jour : Date()
    Pour avoir la date du jour precedent a partir d'une date donnee, interesse-toi a la fonction DateAdd().

    En esperant t'aider.
    Parfait, j'ajouterais juste qu'il va falloir Format() pour obtenir les jours / mois / années dans l'ordre souhaité.

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Bonjour

    Mon problème est de l'intégrer dans le nom du fichier.

    Merci

  5. #5
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Un ch'ti n'exemple.
    Le code de la fonction suivante me permet de gérer dans une table paramètres les noms de fichier résultat et de créer ensuite les fichier avec des format de dates correctes (chaque utilisateur a ses petites préférences ).

    La partie qui t'intéresse se trouve à la fin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    '--------------------------------------------------------------------------------------------------------------
    ' format_Date_inFileName
    '--------------------------------------------------------------------------------------------------------------
    ' Objet   : Remplace les formats date placés dans une chaîne de caractères par la date passée en paramètre au
    '           format demandé.
    ' Auteur  : Julien Dufour
    ' Date    : 15.10.2005
    ' Entrées : Chaîne de caractère à modifier
    '           Date (facultatif - par défaut : date du jour)
    '           Caractères de séparation (facultatif - par défaut : '#')
    ' Sorties : Chaîne de caractère modifiée
    ' Commentaires : Accepte les définitions de format en anglais et en français
    '--------------------------------------------------------------------------------------------------------------
    Public Function format_Date_inFileName(strInput As String, Optional dtmRef As Date, _
                                                               Optional strSeparation As String) As String
    On Error GoTo Err_format_Date_inFileName
    '**** DECLARATION DES VARIABLES
    Dim strFormat As String                 ' Contient le format de date à utiliser
    Dim intNb_car_separation As Integer     ' Indique le nombre de caractère dans la chaîne indicatrice de séparation
    Dim intPos_separation_deb As Integer    ' Indique la position dans la chaîne du caractèrede séparation de début
    Dim intPos_separation_fin As Integer    ' Indique la position dans la chaîne du caractèrede séparation de fin
    Dim strOutput As String                 ' chaîne résultat
     
    '**** INITIALISATION DES VARIABLES
        If Nz(dtmRef, Date) = "00:00:00" Then dtmRef = Date
        If Nz(strSeparation, "#") = "" Then strSeparation = "#"
        intNb_car_separation = Len(strSeparation)
        intPos_separation_deb = 1
        intPos_separation_fin = 0
        strFormat = ""
        strOutput = ""
     
    '**** CODE DE LA PROCEDURE/FONCTION --------------------------------
        '--- Recherche de la première occurence du caractère de séparation (début de la définition d'un format)
        intPos_separation_deb = InStr(1, strInput, strSeparation, vbTextCompare)
     
        '--- Déplacement dans la chaîne pour déterminer les zones à remplacer
        While intPos_separation_deb <> 0
            '--- Recherche de la première occurence du caractère de séparation (fin de la définition d'un format)
            intPos_separation_fin = InStr(intPos_separation_deb + 1, strInput, strSeparation, vbTextCompare)
            '--- extraction de la chaîne définissant le format
            strFormat = Mid(strInput, intPos_separation_deb + intNb_car_separation, intPos_separation_fin - (intPos_separation_deb + intNb_car_separation))
            '--- Traduction de la descriptione français du format
            strFormat = Replace(strFormat, "A", "Y")
            strFormat = Replace(strFormat, "J", "D")
            '--- Mise à jour des chaîne en entrée et en sortie
            strOutput = strOutput & Left(strInput, intPos_separation_deb - 1) & Format(dtmRef, strFormat)
            strInput = Right(strInput, Len(strInput) - (intPos_separation_fin + intNb_car_separation) + 1)
            '--- Recherche de la première occurence du caractère de séparation (début de la définition d'un format)
            intPos_separation_deb = InStr(1, strInput, strSeparation, vbTextCompare)
        Wend
        If strInput <> "" Then strOutput = strOutput & strInput
     
    Exit_format_Date_inFileName:
    '**** LIBERATION DE LA MEMOIRE
        format_Date_inFileName = strOutput
        Exit Function
     
    '**** GESTION DES ERREURS
    Err_format_Date_inFileName:
        MsgBox Error$
        Resume Exit_format_Date_inFileName
    End Function

  6. #6
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Citation Envoyé par njogou
    Bonjour

    Mon problème est de l'intégrer dans le nom du fichier.

    Merci
    C'est une simple concatenation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim NomFichier as String
    NomFichier = "result" & Date()
    Bon ceci ne donneras pas le resultat que tu attends mais c'est pour te mettre sur la voie.

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Bonjour
    Voici la macro. Pouvez vous m'aider?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    '------------------------------------------------------------
    ' Macro1
    '
    '------------------------------------------------------------
    Function Macro1()
    On Error GoTo Macro1_Err
     
        DoCmd.TransferSpreadsheet acExport, 8, "Result", "C:\Documents and Settings\Ndiogou\Bureau\BaseAlarmes\Result" & Date() .xls, False, ""
     
     
    Macro1_Exit:
        Exit Function
     
    Macro1_Err:
        MsgBox Error$
        Resume Macro1_Exit
     
    End Function

  8. #8
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Il te manque un & dans ta ligne de code.

    Remplace la par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acExport, 8, "Result", "C:\Documents and Settings\Ndiogou\Bureau\BaseAlarmes\Result" & Date() & ".xls", False, ""
    Je ne te promets pas que ça va marcher car je n'ai pas pu tester chez moi, je n'ai pas access sur mon poste perso (trop cher ).
    Mais en tout cas si le reste de ton appel était bon ça devrait être bon.

    Ceci dit je te conseille d'utiliser la fonction format pour formater ta date c'est plus propre à mon humble avis (ça permet entre autre de gérer les tris.

  9. #9
    Membre actif Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 213
    Points
    213
    Par défaut
    Bonsoir,

    Si tu souhaites absolument le format jjmmaaaa, tu peux mettre pour le nom du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Result" & Day(Date) & Month(Date) & Year(Date) & ".xls"
    où Date est la date du jour.

    Bon courage

Discussions similaires

  1. [AC-2010] Exporter fichier excel avec date dans le nom
    Par Logimar dans le forum Access
    Réponses: 2
    Dernier message: 27/03/2015, 20h47
  2. Réponses: 8
    Dernier message: 29/05/2008, 13h26
  3. Réponses: 6
    Dernier message: 14/06/2007, 15h36
  4. Réponses: 4
    Dernier message: 15/01/2007, 11h53
  5. [VBA-E]sauvegarde fichier nom et date
    Par elkhy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/04/2006, 19h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo