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 :

Copier des colonnes dans un nouveau classeur et l'enregistrer sous le nom entré dans une cellule [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Copier des colonnes dans un nouveau classeur et l'enregistrer sous le nom entré dans une cellule
    Bonjour à tous.

    Je suis novice dans le VBA et je souhaiterais Copier des colonnes dans un nouveau classeur et l'enregistrer sous le nom entré dans une cellule.
    J'ai essayé avec l'enregistreur de macro mais ça coince pas mal.

    Si quelqu'un pouvait m'apporter son aide précieuse, je serais très reconnaissant.

    Merci d'avance pour vos conseils

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Qu'est-ce qui coince ?
    Cordialement

  3. #3
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour Defluc,

    Il me dit erreur de syntaxe pour la copie des colonnes et je ne sais pas comment lui donner l'instruction de prendre le contenu de la case B13 pour nommer le classeur et l'enregistrer.

    Merci pour ton aide

  4. #4
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Pour la copie de colonne, inspires toi de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim FromSh As Worksheet, ToSh  As Worksheet
     
      Set FromSh = ThisWorkbook.Sheets(x)
      Set ToSh = ThisWorkbook.Sheets(y)
     
      FromSh.Columns(i).Copy
      ToSh.Cells(1, DestCol).Insert
     
      Set FromSh = Nothing
      Set ToSh = Nothing
    Et pour la sauvegarde,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveAs Filename:= ThisWorkbook.Sheets(x).Cells("B13")

  5. #5
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup Defluc,

    Pour le copier/coller, ça fonctionne nikel.
    Avec le code de la sauvegarde, si je souhaite qu'il le fasse avec le contenu de la cellule B13 dans un dossier qui se trouve dans le dossier où le fichier avec la macro sera, je dois le modifier comment?

    Merci pour ton aide

    Pour le moment, ceci fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Columns("A:E").Select
        Selection.Copy
        Workbooks.Add
        Columns("A:E").Select
        ActiveSheet.Paste
        Range("C14").Select
        Application.CutCopyMode = False
        ChDir "C:\2014"
        ActiveWorkbook.SaveAs Filename:= _
            "C:\2014\2.xlsx", FileFormat:= _
            xlOpenXMLWorkbook, CreateBackup:=False
        ActiveWindow.Close
        Range("A20").Select
    Mais ce que je souhaiterais modifier, c'est le 2.xlsx

  6. #6
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveAs Filename:= ThisWorkbook.Path & "\" & ThisWorkbook.Sheets(x).Cells("B13")

  7. #7
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Il me répond:

    Erreur d'exécution "9"
    L'indice n'appartient pas à la sélection.

    ça veut dire quoi?

    Pour simplifier, comment devrais-je faire s'ouvrir la boite de dialogue "Enregistrer sous"?

  8. #8
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    J'ai réussi.

    Voiçi ce que ça donne:

    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
    Sub enreg_devis_0()
    '
    ' enreg_devis_0 Macro
    '
     
    '
        Columns("A:E").Select
        Selection.Copy
        Workbooks.Add
        Columns("A:E").Select
        ActiveSheet.Paste
        Range("C14").Select
        Application.CutCopyMode = False
        ChDir "C:\2014"
        ActiveWorkbook.SaveAs Filename:= _
            "C:\2014\" & Range("C14").Value & ".xls", FileFormat:= _
            xlOpenXMLWorkbook, CreateBackup:=False
        ActiveWindow.Close
        Range("A20").Select
    End Sub

    Merci beaucoup pour ton aide.

  9. #9
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    ça marche mais c'est un peu lourd comme programmation.

    A l'avenir, il faut éviter les "Select". Ils ralentissent le programme et créent de clignotement de l'écran.

    Mon code devrait fonctionner.
    Erreur d'exécution "9"
    L'indice n'appartient pas à la sélection.
    Cela provient probablement du fait que tu n'as pas remplacé x par le numéro ou le nom de la feuille.

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

Discussions similaires

  1. [VBA][Excel]Copier une feuille dans un nouveau classeur
    Par illight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/10/2020, 12h51
  2. Réponses: 16
    Dernier message: 22/01/2017, 12h23
  3. [LibreOffice][Tableur] Basic - Copier des colonnes et les coller dans un autre classeur
    Par ancel17 dans le forum OpenOffice & LibreOffice
    Réponses: 5
    Dernier message: 21/03/2014, 11h45
  4. [XL-2010] En VBA, copier des cellules et les coller dans un nouveau classeur
    Par Cgoldy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/02/2013, 18h24
  5. Copier des lignes dans un nouveau classeur
    Par adelnikov dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/03/2008, 21h55

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