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 :

Coller format sans la mise en forme conditionnelle


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2020
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 107
    Par défaut Coller format sans la mise en forme conditionnelle
    Bonjour,

    J'ai un problème que je ne parviens pas à résoudre, malgré mes recherches.

    J'ai un planning annuel, où des collègues peuvent noter leurs vacances. Ce planning contient des mises en forme conditionnelle pour que, par exemple, les samedis et dimanches soient grisés. Mais lorsqu'un collègue note des vacances, il sélectionne les cellules correspondant aux dates où il sera absent. Un menu adapté du clic droit colle alors un format (par exemple, fond de la cellule rouge avec la lettre "v" dans chaque cellule.

    Ce que j'aimerais faire par vba: copier les colonnes concernées et les coller sur une autre feuille. Et c'est là que je bute: j'aimerais que l'aspect visuel (fond gris ou rouge, contenu de la cellule) soit exactement le même que celui de la feuille d'origine, mais qu'Excel ne colle PAS la mise en forme conditionnelle. Si j'utilise valeurs, il ne colle que les "v", si j'utilise formats, il colle aussi la mefc. Quelqu'un a une idée?

    Merci!

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 466
    Par défaut
    Salut,

    La méthode PasteSpecial de l'objet Range est ton amie.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2020
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 107
    Par défaut
    Merci Deedolith,

    J'ai bien essayé de faire un collage spécial (d'abord sans vba), mais je n'en ai pas trouvé qui donnerait le même aspect aux cellules, mais qui n'aurait plus de mise en forme conditionnelle.
    Celui qui dit "Coller tout, fusionner la mise en forme conditionnelle" donne le même aspect, mais contient toujours une mefc...

  4. #4
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2020
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 107
    Par défaut
    J'ai jeté un oeil dans Chatgpt, pour voir. Il me conseille de faire un collage spécial (valeurs), puis de refaire la mise en forme des cellules manuellement, Excel ne permettant pas de recréer le même aspect, mais sans la mise en forme conditionnelle. Il est catégorique, mais... a-t-il raison?

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 466
    Par défaut
    L'aspect d'une cellules est conditionné par sa propre mise en forme et les mises en forme conditionelles.
    Si tu ne recopie pas les MFC (quelque soit la méthode), il est normal que les cellules n'aient pas le même aspect.

    Si tu veux conserver le même aspect, il faut soit copier les MFC,
    soit le format induit par les MFC.

  6. #6
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2020
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 107
    Par défaut
    Le plus important, dans ce projet, est de retrouver le même aspect (couleur des cellules, texte, mise en forme). Donc si le seul moyen d'y parvenir est de faire un collage spécial - format, cela ne m'ennuie pas. Mais j'ai fait des essais, et cela ne fonctionne pas lorsque je colle les cellules sur une autre feuille (cela fonctionne, en revanche, si je les colle sur la même feuille). Dans l'exemple pris, j'ai indiqué dans la mise en forme conditionnelle de mettre la cellule en rouge si la valeur dans K4 était égal à "f". Le problème vient, je suppose, que le collage sur une autre feuille perd ce lien, il n'indique pas que c'est la cellule K4 de la feuille 1.
    Comment résoudre ce problème?

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 466
    Par défaut
    A ma connaissance, les MFC ne sont pas prises en compte sur les opérations de copier / coller.
    Il va falloir soit les importer, soit reconstituer le visuel qu'elles génèrent.

    La propriété FormatConditions de l'objet Range contient une collection de MFC impactant la ou les cellules ciblées.

  8. #8
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Janvier 2020
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2020
    Messages : 107
    Par défaut
    Je pense avoir trouvé une solution. Plutôt que de supprimer la mefc, je vais recréer la même sur la feuille 2. Ensuite, le collage spécial

    Selection.PasteSpecial Paste:=xlPasteAllMergingConditionalFormats, Operation _
    :=xlNone, SkipBlanks:=False, Transpose:=False

    permet de coller les valeurs, les couleurs, etc, sans toucher à la mefc.

    Merci deedolith!

  9. #9
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 676
    Par défaut
    Bonjour,

    On peut récupérer la couleur d'une MFC en utilisant DisplayFormat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B1").Interior.Color = Range("a1").DisplayFormat.Interior.Color

Discussions similaires

  1. Réponses: 13
    Dernier message: 08/12/2014, 08h32
  2. [XL-2003] copier coller et mise en forme conditionnelle
    Par sophtoche dans le forum Conception
    Réponses: 2
    Dernier message: 18/06/2010, 23h55
  3. [Obsolète] Mise en forme conditionnelle Multiple (+ 3 Formats)
    Par wilfried_42 dans le forum Contribuez
    Réponses: 8
    Dernier message: 06/10/2008, 20h46
  4. Mise en forme conditionnelle --> format de nombre
    Par alexbabey dans le forum Excel
    Réponses: 2
    Dernier message: 07/01/2008, 15h58
  5. [VBA-E] Mise en forme conditionnelle et recherche de format
    Par VinzVVK dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/12/2006, 19h20

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