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 :

Enregistrer un classeur en format Excel sans les macros [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2022
    Messages : 23
    Par défaut Enregistrer un classeur en format Excel sans les macros
    Bonjour,

    Je cherche à lancer une macro qui ouvrirait une boite de dialogue (la boite de dialogue classique d'enregistrer sous) permettant de sauvegarder mon classeur. Par défaut je voudrais que le nom de fichier soit vide (et donc à remplir de manière classique) mais que l'option de format de classeur soit en format Excel (du coup sans les macros) et il prend en compte que a partir de la ligne 43 ET colonne AA pour la première feuille ("AD VB") et la deuxième ("AD CB") et la troisième ("AD ZZ") feuilles qu'a partir de la 64iéme ligne et Colonne AA . Il ne resterait alors qu'à choisir l'emplacement, écrire le nom du fichier et à appuyer sur enregistrer pour que le fichier s'enregistre à l'endroit sélectionné au format Excel sans les macros.
    Je vous remercie par avance et espère avoir été clair dans ma demande.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour effectuer ce que vous décrivez, il faut procéder en plusieurs étapes
    1. Ouvrir un nouveau classeur
    2. Copier les plages de cellules des feuilles concernée vers des nouvelles feuilles de ce classeur
    3. Sauver ce classeur à l'aide ou pas d'une boite de dialogue
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2022
    Messages : 23
    Par défaut
    Merci pour la réponse j'ai essayé de faire ce que vous avez dit mais j'ai reçu pour la 1er feuille de la copier et la coller dans un nouveau classeur mais je ne sais pas comment je peux le faire pour les autres feuilles en plus ils n'ont pas la même cellule que je veux copier voilà le code que j'ai fait pouvez-vous m'aider à le compléter :

    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
    With ThisWorkbook
    .Sheets("AD47").Range("A1:AD44").Copy
    .Sheets(Array("AB23", "AB32")).Range("A1:AD64").Copy
    'Etape 2: Créez un nouveau classeur
    Workbooks.Add
    'Étape 3: collez les données
    ActiveSheet.Paste Destination:=Range("A1")
    End With
    'Étape 4: Désactivez le message d'alerte
    Application.DisplayAlerts = False
    'Étape 5: Enregistrez la feuille de calcul nouvellement créée
    ActiveWorkbook.SaveAs _
    filename:="\\C:ojofnknkvklk.xlsx"
    'Étape 6: Activer les messages d'alerte
    Application.DisplayAlerts = True
    End Sub

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'avais omis d'ajouter dans les étapes à suivre l'insertion de feuilles

    Voici un petit exemple vite fait mais testé

    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
    Sub t()
      Const SubFolder As String = "\Document\"
      Dim wkbTarget As Workbook
      Dim shtTarget As Worksheet
      Dim CurrentPath As String
      Dim FullPath As String
      Dim FullName As String
      Set wkbTarget = Workbooks.Add
      CurrentPath = ThisWorkbook.Path
      FullPath = CurrentPath & SubFolder
      FullName = FullPath & Format(Date, "yymmdd") & " - Rapport.xlsx"
      With ThisWorkbook
       Set shtTarget = wkbTarget.Worksheets.Add(After:=ActiveSheet)
      .Worksheets("Janvier").Range("A5:E22").Copy Destination:=shtTarget.Range("A1")
       Set shtTarget = wkbTarget.Worksheets.Add(After:=ActiveSheet)
      .Worksheets("Février").Range("B3:H10").Copy Destination:=shtTarget.Range("A1")
      End With
      With wkbTarget
       .SaveAs Filename:=FullName, FileFormat:=xlOpenXMLWorkbook
      .Close
      End With
      Set wkbTarget = Nothing:  Set shtTarget = Nothing
    End Sub
    Il faudra sans doute penser à renommer les feuilles également.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2022
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2022
    Messages : 23
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    J'avais omis d'ajouter dans les étapes à suivre l'insertion de feuilles

    Voici un petit exemple vite fait mais testé.
    Merciii infiniment pour le code il marche très bien juste la dernière chose je voulais qu'il me colle les tableaux en gardent les même Formats des pages si vous pouvais m'aider pour la dernière fois je serai reconnaissant
    j'ai essayé ça après des recherches sur internent et j'ai trouvé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .PasteSpecial(xlPasteFormats)
    mais ça ne marche pas avez vous une idée ??

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    juste la dernière chose je voulais qu'il me colle les tableaux en gardent les même Formats des pages
    Pour que la largeur des colonnes collées soient identiques à la largeur des colonnes "source", Il faut utiliser le Collage Spécial - Largeur de colonnes

    Exemple si le collage à eu lieu à partir de la cellule A1 Range("A1").PasteSpecial Paste:=xlPasteColumnWidths (ne pas oublier de préciser le parent de la cellule (Classeur + feuille)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. [Toutes versions] Enregistrer un classeur en format Excel sans les macros
    Par yzmalc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/05/2022, 12h07
  2. Données d'Access vers Excel sans les macros
    Par tofflower dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/01/2013, 18h35
  3. [P-07] Enregistrer sous un format qui accepte les macros
    Par janobrasil dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 01/11/2008, 10h49
  4. Enregistrer un classeur dans un répertoire sans indiquer le chemin
    Par Maluje dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/08/2008, 18h15
  5. Enregistrer Un Classeur Sans Les Macros
    Par potters dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/06/2007, 08h48

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