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 :

Workbooks.Add => Format .xlsx


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut Workbooks.Add => Format .xlsx
    Bonjour

    J’ai une macro qui copie une feuille d’un fichier .xlsm vers un nouveau fichier sauvegardé en .xlsx.

    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            Dim ReportWB As Workbook
            Set ReportWB = Application.Workbooks.Add
            ReportWB.SaveAs Filename:=”C:\Users\Test.xlsx”, FileFormat:=51
     
            'Suppression des onglets inutiles
            While ReportWB.Sheets.Count > 1
                ReportWB.Sheets(1).Delete
            Wend
     
            ThisWorkbook.Sheets("SheetToCopy").Copy After:=ReportWB.Sheets(1)
    Or, ce code produit une erreur car même si ReportWB est sauvé au format .xlsx, il a été créé intialement au format .xls donc ne possède pas le même nombre de colonnes, il ne peut pas accueillir la feuille « SheetsToCopy ».

    Comment faire que lors de la méthode Workbooks.Add, le classeur soit déjà en .xlsx ?

    Merci d’avance.

  2. #2
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    a chaud, je dirais de d'abord vérifier dans les options de sauvegarde que le format par défaut est bien excel 2007 (*.xlsx") et aussi qu'il ne soit pas en mode compatibilité.
    Alleï Bonjour chez vous!

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Ah merci beaucoup, en changeant le format dans les options Excel ça fonctionne.
    Sinon il n’y aurait pas une autre solution via le code pour éviter que les utilisateurs n’aient à modifier leurs options ?

  4. #4
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    euh, si je ne m'abuse cela doit etre ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.defaultsaveformat=xlworkbookdefault
    Alleï Bonjour chez vous!

  5. #5
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 199
    Points : 58
    Points
    58
    Par défaut
    Excellent, ça fonctionne très bien.
    Donc j’aurai juste à changer le format de sauvegarde puis remettre le format de l’utilisateur avant la fin de la macro.

    Merci beaucoup pour ton aide ! Bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2011, 09h47
  2. Piece jointe format XLSX
    Par gabvoir dans le forum Evolutions du club
    Réponses: 2
    Dernier message: 25/08/2010, 10h20
  3. workbook add particuler
    Par Nako_lito dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 26/05/2010, 11h17
  4. Erreur 1004 fonction Workbook.add
    Par jacques64 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/05/2008, 14h18
  5. Excel Fonction Workbook.Add
    Par jacques64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/05/2008, 11h13

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