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 :

Macro pour copier coller valeurs avec mise en page


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 2
    Par défaut Macro pour copier coller valeurs avec mise en page
    Bonjour à tous,

    Je cherche à copier/coller les valeurs de plusieurs feuilles excel vers un nouveau classeur. Je voudrais copier/coller en valeurs (plus de formules) en gardant la mise en page si c'est possible. J'ai fait un fichier test (ci-joint). Pouvez-vous m'aider ?

    Voici la macro qui fonctionne mais ne copie pas la mise en page :


    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
    Sub CopierColler()
      Set twb = ThisWorkbook
      Set wb = Workbooks.Add 
        For i = 1 To twb.Worksheets.Count - wb.Worksheets.Count 'créer des feuilles autant que nécesssaire
         wb.Worksheets.Add
        Next i
        j = 0
        For Each ws In twb.Worksheets
          j = j + 1
          ws.UsedRange.Copy
          With wb.Worksheets(j).Range("A1")
           .PasteSpecial Paste:=xlPasteValuesAndNumberFormats
           .PasteSpecial Paste:=xlPasteColumnWidths
          End With
        Next
        wb.SaveAs Filename:="C:\Users\Default\Documents\...\Feuille_test.xls" 
    End Sub
    Merci pour votre aide !

    pour info je suis vraiment débutante sur les macro !

    Belle journée à tous

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    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
    Sub CopierColler()
        Set twb = ThisWorkbook
        Set wb = Workbooks.Add
        For i = 1 To twb.Worksheets.Count - wb.Worksheets.Count 'créer des feuilles autant que nécesssaire
            wb.Worksheets.Add
        Next i
        j = 0
        For Each ws In twb.Worksheets
            j = j + 1
            ws.UsedRange.Copy
            With wb.Worksheets(j).Range("A1")
                .PasteSpecial Paste:=xlPasteValues
                .PasteSpecial Paste:=xlFormats
                .PasteSpecial Paste:=xlPasteColumnWidths
            End With
        Next
        wb.SaveAs Filename:="C:\Users\Default\Documents\...\Feuille_test.xls"
    End Sub
    Cdlt

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Arturo:

    Perso, j'ajouterais Application.CutCopyMode=false après les pastespecials pour libérer la barre d'état, sinon, les cellules copiées continuent à scintiller et la barre d'état n'est pas à "Prêt"...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. [XL-2016] Macro pour Copier une cellule avec mise en forme
    Par ggerphagnon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/10/2017, 22h08
  2. [XL-2013] Macro pour copier coller des lignes avec condition
    Par Outiltils dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/08/2017, 08h30
  3. Pb de macro pour copier coller 100 fichier
    Par petit-ours dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/08/2011, 15h31
  4. [XL-2000] Macro pour copier-coller valeur avec un while
    Par golghot dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/06/2010, 16h52
  5. [XL-2007] macro pour copier coller des selections multiples
    Par bedoch dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/06/2009, 12h31

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