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 / coller valeurs et structures sans les formules. [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut Copier / coller valeurs et structures sans les formules.
    Bonjour,

    Je viens vers vous car je suis bloqué sur un copier/coller.

    Données: j'ai un classeur dans lequel se trouve une feuille contenant tableaux, formules... Cette feuille est structurée de manière précise avec des colonnes réajustées, des lignes réajustées...

    objectif: Je souhaite extraire cette feuille de mon classeur dans un autre classeur, tout en gardant les données et la structure.

    solution appliquée: afin de réaliser cela j'ai mis en place le code suivant qui marche parfaitement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    Book_courant = ActiveWorkbook.Name
    Set xlBook = Workbooks.Add
    Workbooks(Book_courant).Sheets("feuille à copier").Copy After:=xlBook.Sheets(1)
    ...
    problème: En testant le deuxième classeur contenant la copie de la feuille, je me suis rendu compte qu'il y avait des liaisons avec le classeur parent (émetteur). Du coup si je déplace le 1er classeur les valeurs contenu dans le deuxième sont perdues....

    J'ai alors essayé de faire la manipulation suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    xlBook.Sheets(2).Select
    Range("A1:K600").Select 
    Selection.Copy
     
    xlBook.Sheets(1).Activate
    Application.DisplayAlerts = False 'évite le message d'alerte
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=True, Transpose:=False 'colle en valeur
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=True, Transpose:=False 'colle en format
    C'est a dire que dans le classeur 2 je récupère la zone qui m'intéresse et je fait un copier et je colle dans une autre feuille.
    Résultat --> lorsque je colle : les colonnes et lignes ne sont pas formatées à l'image de la zone copiée.

    J'ai également essayé de faire un copier/coller sur la même feuille pour garder la structure.
    Résultat --> les données sont mal collées et au final la page est incohérente....

    HELP
    Quelqu'un aurait-il une solution à mon problème ???
    SVP ^^

    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Bonjour,

    Tente un à la place de xlPasteValues ou xlPasteFormats histoire de tout copier dans ton deuxième code et dis-moi si ça marche (une seule des deux lignes suffit).

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut
    Je viens d'essayer cette méthode mais le résultat est le même, la structure n'est pas conservée et les formules sont toujours présentent.

    J'ai tout de même trouvé une solution un peu plus lourdes mais qui marche.
    Résumé en étapes:

    1- copie de la feuille dans un nouveau classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(Book_courant).Sheets("test").Copy After:=xlBook.Sheets(1)
    2- sélection et copie de la zone souhaité de la feuille créée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    xlBook.Sheets(2).Select
    Range("A1:N523").Select
    Selection.Copy
    3- collage spécial dans la feuille 1 du nouveau classeur. (on peut considérer cette feuille comme temporaire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    xlBook.Sheets(1).Activate
    Application.DisplayAlerts = False 'évite le message d'alerte
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False 'colle en format
    Application.DisplayAlerts = True
    4- sélection et coupage des valeurs collées à l'étape 3.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    xlBook.Sheets(1).Select
    Range("A1:N523").Select
    Selection.Cut
    5- collage de la sélection dans la feuille 2 contenant la structure des lignes et colonnes...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    xlBook.Sheets(2).Activate
    Range("A1").Select
    ActiveSheet.Paste
    6- suppression de la feuille 1 du classeur (feuille temporaire en fait).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlBook.Sheets(1).Delete
    Voilà ! c'est du bricolage mais ça fonctionne !!!!!

    Merci DeaD78 pour ta proposition.


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

Discussions similaires

  1. Réponses: 16
    Dernier message: 11/12/2013, 11h20
  2. Réponses: 4
    Dernier message: 21/08/2013, 15h17
  3. Faire un copier-coller dans un navigateur sans les attributs et classes.
    Par Tristan Zwingelstein dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/10/2012, 14h19
  4. [XL-2003] Copier feuille d'un classeur à un autre sans les formules des worksheets
    Par tioch dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/08/2011, 15h34
  5. [OpenOffice][Tableur] Export excel sans les formules (uniquement les valeurs)
    Par stacquet dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 03/04/2009, 21h03

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