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 cellule avec mise en page ? [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    informaticien retraité
    Inscrit en
    Mai 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : informaticien retraité

    Informations forums :
    Inscription : Mai 2017
    Messages : 282
    Par défaut Copier cellule avec mise en page ?
    Bonjour,

    Actuellement je copie une cellule avec la commande suivante :Les valeurs se copient mais j'ai de la couleur et elle ne suit pas.

    J'ai cherché les fonctions disponibles et aucune me semble convenir

    Aussi lorsque je supprime avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range(a1)..ClearContents
    la mise en page demeure en place, c'est-à-dire la couleur.

    Y a-t-il un moyen d'effectuer ces opérations s.v.p.

    Merci d'avance.

  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 054
    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 054
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Vous publiez la méthode Copy mais pas la manière dont vous collez or c'est là que le problème se situe. L'autre instruction c'est pour effacer le contenu de la cellule. C'est la même chose que faire un "delete" .

    la mise en page demeure en place, c'est-à-dire la couleur.
    On parle plutôt de format. La mise en page concerne toute la 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

  3. #3
    Membre éclairé
    Homme Profil pro
    informaticien retraité
    Inscrit en
    Mai 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : informaticien retraité

    Informations forums :
    Inscription : Mai 2017
    Messages : 282
    Par défaut
    Bonjour Philippe,

    En effet j'ai oublié d'ajouter le coller voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .PasteSpecial xlPasteValues
    Merci.

  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 054
    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 054
    Billets dans le blog
    53
    Par défaut
    Bonjour James,
    C'est donc normal que le format ne soit pas collé puisque c'est un CollageSpécial-Valeur.

    Si l'on veut conserver toutes les propriétés d'une cellule c'est à dire valeur ou formule, format mais également mise en forme conditionnelle, validation de données, commentaire, etc. on utilise la méthode Copy de l'objet Range avec l'argument Destination soit par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With ThisWorkbook.Worksheets("t_Data")
      .Range("D2").Copy Destination:=.Range("P5")
    End With
    En revanche si l'on ne se souhaite coller que la valeur et le format, on passe par un copier et un collage special Valeur + collage special Format

    [EDIT]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub t()
      With ThisWorkbook.Worksheets("t_Data")
      .Range("D2").Copy
       With .Range("P5")
       .PasteSpecial xlPasteValues  ' Collage valeur
       .PasteSpecial xlPasteFormats ' Colage format
       End With
      End With
    End Sub
    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 éclairé
    Homme Profil pro
    informaticien retraité
    Inscrit en
    Mai 2017
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : informaticien retraité

    Informations forums :
    Inscription : Mai 2017
    Messages : 282
    Par défaut
    Bonjour Philippe,

    Tout fonctionne à merveille.

    Merci.

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

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, 23h08
  2. [XL-2003] Code VBA ou formule pour copier des cellules avec mise forme
    Par Sergio33600 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/06/2017, 14h56
  3. Réponses: 8
    Dernier message: 22/04/2014, 10h41
  4. [XL-2003] Copier coller avec mise forme de cellule.
    Par hobine dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/12/2011, 00h39
  5. [XL-2007] copie valeur cellule dans word avec mise en page
    Par lenul78570 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/02/2010, 11h54

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