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 les valeurs d'une feuille dans une nouvelle feuille en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Copier les valeurs d'une feuille dans une nouvelle feuille en VBA
    Bonjour, je souhaite copier une feuille dans une nouvelle feuille d'un même classeur. Mais je ne souhaite prendre que les valeurs de la feuille d'origine et pas les formules.

    Pour l'instant j'ai fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Notes").Copy after:=Sheets(ThisWorkbook.Sheets.Count)
    mais cela copie les formules inclues dans les feuilles
    J'ai essayé ça mais sans succès.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sheets("Notes").Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    a = ThisWorkbook.Sheets.Count
    Sheets(a).Name = Nom
    Sheets(a).PasteSpecial Paste:=xlPasteValues

  2. #2
    Membre actif
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Points : 246
    Points
    246
    Par défaut
    bonjour

    ajoute ce bout de code après la ligne qui duplique la feuille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Cells.Select
        Selection.Copy
        Cells.Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A1").Select
    c'est un simple collage spécial --> valeurs

    à plus

  3. #3
    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 tlm,

    Essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
    Sheets.Add after:=Sheets(Sheets.Count)
     
    Sheets(1).Cells.Copy
    Sheets(Sheets.Count).Range("A1").PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
    Range("A1").Select
    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.

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour et merci pour vos réponses.

    Le code fonctionne mais je voudrai conserver le format de la feuille d'origine. J'ai écris ceci mais cela ne fonctionne pas : "la méthode paste special de la range à échoué".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sheets.Add after:=Sheets(Sheets.Count)
    Sheets(1).Cells.Copy
    Sheets(Sheets.Count).Range("A1").PasteSpecial Paste:=xlValuesAndNumberFormats, skipBlanks:=False, Transpose:=False
    Sheets(Sheets.Count).Range("A1").PasteSpecial Paste:=xlPasteFormats, skipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    C'est bon j'ai trouvé, j'était pas très loin...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sheets.Add after:=Sheets(Sheets.Count)
     
    Sheets(1).Cells.Copy
    Sheets(Sheets.Count).Range("A1").PasteSpecial Paste:=xlValues
    Sheets(Sheets.Count).Range("A1").PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False
    Merci encore à ceux qui m'ont aidé.

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

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. Réponses: 3
    Dernier message: 13/01/2009, 16h55
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Copier les valeurs d'un formulaire dans une table
    Par Cyphen dans le forum Access
    Réponses: 4
    Dernier message: 19/06/2006, 10h45

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