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

Macros et VBA Excel Discussion :

Sauvegarde excel 2007 au format excel 2000-2003


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 12
    Points
    12
    Par défaut Sauvegarde excel 2007 au format excel 2000-2003
    Bonjour,

    J'ai créé cette macro excel pour sauvegarder un tableau Excel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sauvegarde le fichier
        Application.DisplayAlerts = False
        Workbooks(Classeur2).SaveAs NewFic
        Classeur2 = ActiveWorkbook.Name
        Workbooks(Classeur2).Close
        Application.DisplayAlerts = True
        MsgBos "Fichier enregistré sous:" & Chr(13) & NewFic
        Range("DAT_COPE_CONSO_SCAP") = Format(Date, "DD/MM/YYYY")& "à &
    Format(Time(), "HH:MM")
    End Sub
    Mon problème est que je voudrais enregistré automatiquement ce fichier en format excel 2003.
    Comment précisé ce détail dans ma macro? Merci de votre aide.

    Cordialement

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    Cela dépend de la version d'excel que tu utilises (ce que tu ne précises pas ).

    D'une manière générale, trouvé dans l'aide de saveas.

    Saves changes to the workbook in a different file.

    expression.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
    expression Required. An expression that returns one of the above objects.

    Filename Optional Variant. A string that indicates the name of the file to be saved. You can include a full path; if you don't, Microsoft Excel saves the file in the current folder.

    FileFormat Optional Variant. The file format to use when you save the file. For a list of valid choices, see the FileFormat property. For an existing file, the default format is the last file format specified; for a new file, the default is the format of the version of Excel being used.

    FileFormat Property
    See AlsoApplies ToExampleSpecificsReturns the file format and/or type of the workbook. Read-only XlFileFormat.

    XlFileFormat can be one of these XlFileFormat constants.
    xlCSV
    xlCSVMSDOS
    xlCurrentPlatformText
    xlDBF3
    xlDIF
    xlExcel2FarEast
    xlExcel4
    xlAddIn
    xlCSVMac
    xlCSVWindows
    xlDBF2
    xlDBF4
    xlExcel2
    xlExcel3
    xlExcel4Workbook
    xlExcel5
    xlExcel7
    xlExcel9795
    xlHtml
    xlIntlAddIn
    xlIntlMacro
    xlSYLK
    xlTemplate
    xlTextMac
    xlTextMSDOS
    xlTextPrinter
    xlTextWindows
    xlUnicodeText
    xlWebArchive
    xlWJ2WD1
    xlWJ3
    xlWJ3FJ3
    xlWK1
    xlWK1ALL
    xlWK1FMT
    xlWK3
    xlWK3FM3
    xlWK4
    xlWKS
    xlWorkbookNormal
    xlWorks2FarEast
    xlWQ1
    xlXMLSpreadsheet

    expression.FileFormat
    expression Required. An expression that returns one of the objects in the Applies To list.

    Remarks
    Some of these constants may not be available to you, depending on the language support (U.S. English, for example) that you’ve selected or installed.

    Example
    This example saves the active workbook in Normal file format if its current file format is WK3.

    If ActiveWorkbook.FileFormat = xlWK3 Then
    ActiveWorkbook.SaveAs fileFormat:=xlNormal
    End If

    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    J'utilise la version 2007 d'excel mais cette macro sera utiliser par des personnes utilisant la version 2003 aussi. En utilisant la version 2007, il enregistre automatiquement au format Office 2007. C'est pour ca que je voudrais obliger ma macro à enregistré au format excel 2003.

    Merci d'avance

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    regarde dans le help du saveas de ton excel 2007, tu devrais trouver quel est le format a préciser pour sauver en version 2003.
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  5. #5
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Tu peux essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NewFic = "Le_Chemin\Le_nom.xls" '<-- ne pas oublier l'extension .xls
    Workbooks(Classeur2).SaveAs Filename:=NewFic, FileFormat:=56 '<-- 56 est la constante du format Excel 2000-2003
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  6. #6
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    @Fring
    Workbooks(Classeur2).SaveAs Filename:=NewFic, FileFormat:=56 '<-- 56 est la constante du format Excel 2000-2003
    Où peut-on trouver ce genre d'info (à l'exception de ton cerveau et ce post ) ?
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  7. #7
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Je l'avais sous le coude

    Une procédure que j'ai trouvée sur le site de Rondebruin via notre ami

    Vu que maintenant Excel 2007 possède différentes extensions de fichier (xlsx, xlsm, xlsb), cette procédure permet à l'utilisateur de définir sous quel type il veut enregistrer le fichier et notamment le type .xls pour enregistrer le fichier au format Excel 2000-2003.

    Je n'ai pas encore trouvé l'ensemble des constantes possibles pour Excel 2007 et versions antérieures.

    Ci-dessous la procédure complète de Rondebruin
    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
    64
    65
    66
    67
    68
    Sub Copy_ActiveSheet_2()
    'Working in Excel 2000-2007
        Dim fname As Variant
        Dim NewWb As Workbook
        Dim FileFormatValue As Long
     
        'Check the Excel version
        If Val(Application.Version) < 9 Then Exit Sub
        If Val(Application.Version) < 12 Then
     
            'Only choice in the "Save as type" dropdown is Excel files(xls)
            'because the Excel version is 2000-2003
            fname = Application.GetSaveAsFilename(InitialFileName:="", _
            filefilter:="Excel Files (*.xls), *.xls", _
            Title:="This example copies the ActiveSheet to a new workbook")
     
            If fname <> False Then
                'Copy the ActiveSheet to new workbook
                ActiveSheet.Copy
                Set NewWb = ActiveWorkbook
     
                'We use the 2000-2003 format xlWorkbookNormal here to save as xls
                NewWb.SaveAs fname, FileFormat:=-4143, CreateBackup:=False
                NewWb.Close False
                Set NewWb = Nothing
     
            End If
        Else
            'Give the user the choice to save in 2000-2003 format or in one of the
            'new formats. Use the "Save as type" dropdown to make a choice,Default =
            'Excel Macro Enabled Workbook. You can add or remove formats to/from the list
     
            fname = Application.GetSaveAsFilename(InitialFileName:="", filefilter:= _
            " Excel Macro Free Workbook (*.xlsx), *.xlsx," & _
            " Excel Macro Enabled Workbook (*.xlsm), *.xlsm," & _
            " Excel 2000-2003 Workbook (*.xls), *.xls," & _
            " Excel Binary Workbook (*.xlsb), *.xlsb", _
            FilterIndex:=2, Title:="This example copies the ActiveSheet to a new workbook")
     
            'Find the correct FileFormat that match the choice in the "Save as type" list
            If fname <> False Then
                Select Case LCase(Right(fname, Len(fname) - InStrRev(fname, ".", , 1)))
                Case "xls": FileFormatValue = 56
                Case "xlsx": FileFormatValue = 51
                Case "xlsm": FileFormatValue = 52
                Case "xlsb": FileFormatValue = 50
                Case Else: FileFormatValue = 0
                End Select
     
                'Now we can create/Save the file with the xlFileFormat parameter
                'value that match the file extension
                If FileFormatValue = 0 Then
                    MsgBox "Sorry, unknown file extension"
                Else
                    'Copies the ActiveSheet to new workbook
                    ActiveSheet.Copy
                    Set NewWb = ActiveWorkbook
     
                    'Save the file in the format you choose in the "Save as type" dropdown
                    NewWb.SaveAs fname, FileFormat:= _
                                 FileFormatValue, CreateBackup:=False
                    NewWb.Close False
                    Set NewWb = Nothing
     
                End If
            End If
        End If
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  8. #8
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonsoir, je suis un peu septique sur ce code ...


    je me serai contenter de l'aide en ligne :
    FileFormat, propriété
    Voir aussi S'applique à Exemple Spécificités
    Cette propriété renvoie le format du fichier et/ou le type de classeur. Type de données XlFileFormat en lecture seule.

    XlFileFormat peut être l'une de ces constantes XlFileFormat.
    xlCSV
    xlCSVMSDOS
    xlCurrentPlatformText
    xlDBF3
    xlDIF
    xlExcel2FarEast
    xlExcel4
    xlAddIn
    xlCSVMac
    xlCSVWindows
    xlDBF2
    xlDBF4
    xlExcel2
    xlExcel3
    xlExcel4Workbook
    xlExcel5
    xlExcel7
    xlExcel9795
    xlHtml
    xlIntlAddIn
    xlIntlMacro
    xlSYLK
    xlTemplate
    xlTextMac
    xlTextMSDOS
    xlTextPrinter
    xlTextWindows
    xlUnicodeText
    xlWebArchive
    xlWJ2WD1
    xlWJ3
    xlWJ3FJ3
    xlWK1
    xlWK1ALL
    xlWK1FMT
    xlWK3
    xlWK3FM3
    xlWK4
    xlWKS
    xlWorkbookNormal
    xlWorks2FarEast
    xlWQ1
    xlXMLSpreadsheet

    expression.FileFormat
    et utiliser la constante xlExcel7 qui est égale à 39 ...

    je n'ai pas excel 2007 pour vérifier les constantes disponibles dans fileformat...
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  9. #9
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par bigboss60 Voir le message
    J'utilise la version 2007 d'excel mais cette macro sera utiliser par des personnes utilisant la version 2003 aussi
    Un petit détail qui m'a échappé...
    Il faut donc d'abord vérifier la version d'excel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    NewFic = "Le_Chemin\Le_nom.xls" '<-- ne pas oublier l'extension .xls
    If Application.Version < 12 Then '<-- si version inférieure à 2007
        Workbooks(Classeur2).SaveAs Filename:=NewFic
    Else
        Workbooks(Classeur2).SaveAs Filename:=NewFic, FileFormat:=56 '<-- 56 est la constante du format Excel 2000-2003
    End If
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  10. #10
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    oui c'est bien 56 je suis sous 2002 ... c'est pour cela que je n'arrive qu'as la constante xlExcel7 mais il existe xlExcel8

    56 = xlExcel8 (97-2003 format in Excel 2007, xls)
    à oui pour voir la valeur d'une constante :

    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pour info, l'explorateur d'objet (F2) vous donne les valeurs des constantes, elles se trouvent en bas quand vous en sélectionnez une.

    Starec

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/06/2010, 21h10
  2. VBA Excel 2007 ne passe pas en 2003
    Par Basicnav dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2009, 09h17
  3. Déploiement Application Excel 2007 sur Poste Excel 2003
    Par skaraa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/07/2009, 15h53
  4. excel 2007 avec présentation excel 2003
    Par JEANFI59 dans le forum Excel
    Réponses: 2
    Dernier message: 28/03/2008, 12h42

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