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 :

Colorier des plages grâce à un bouton [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Par défaut Colorier des plages grâce à un bouton
    Bonjour à toutes et à tous,

    Je fais de nouveau appel à vous pour un petit souci. Dans le tableau ci joint, j'ai deux macros très simples qui me copie colle chacune un tableau de manière dynamique. J'aimerais créer un nouveau bouton que j'appelerais Valider, qui me grisera le nouveau tableaux, pour qu'il soit de même couleur que les tableaux le précédent. J'aimerais également que l'écart soit automatiquement le même entre chaque tableau. J'ai essayé de faire plusieurs macros avec une mise en forme avec le pinceau, uniquement la couleur, le trait, l'écart, des macros automatiques ... Mais rien n'y fait, ce n'est jamais ce que je souhaites.

    Merci d'avance pour votre aide,

    Cordialement,

    Alexandre
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Pour ce qui est des largeurs de colonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub MacroMatiere()
     
        Range("L200:N271").Select
        Selection.Copy
        Range("IV1").End(xlToLeft).Offset(0, 1).Select
        ActiveSheet.Paste
        ActiveCell.Resize(172, 3).PasteSpecial xlPasteColumnWidths
    End Sub
    Pour la couleur de fond, pourquoi est-ce que tu ne l'as met pas sur le modèle que tu copies ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Par défaut
    Bonjour Daniel.C,

    Tout d'abord merci pour la largeur des colonnes. J'avais presque trouvé la solution. Pour ce qui est des couleurs, le tableau blanc signifient qu'il n'est pas complet, ou pas encore valider. Lorsqu'il est gris, cela veut dire qu'il est completement validé, et qu'on ne reviendra pas dessus. C'est pour cela que je souhaite le grisé via une macro et via un bouton "valider".

    Merci encore.

    Cordialement,

    Alexandre

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Oui, mais quel tableau colorier ? Est-ce toujours le plus à droite ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Par défaut
    Bonjour,

    Oui, c'est toujours le tableau le plus à droite.

    Merci beaucoup

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Essaie la macro suivante. Il faut peut-être ajuster les couleurs si les deux sortes de tableaux n'ont pas la même forme. Dans ce cas, comment les reconnaître ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Valider()
        With ActiveSheet.UsedRange
            col = .Columns.Count - .Column
            Range(Cells(8, col), Cells(19, col + 1)).Interior.ColorIndex = 15
            Range(Cells(22, col), Cells(36, col + 1)).Interior.ColorIndex = 15
            Range(Cells(37, col - 1), Cells(40, col + 1)).Interior.ColorIndex = vbBlack
            Range(Cells(41, col), Cells(52, col + 1)).Interior.ColorIndex = 15
            Range(Cells(55, col), Cells(68, col + 1)).Interior.ColorIndex = 15
            Range(Cells(69, col - 1), Cells(72, col + 1)).Interior.ColorIndex = vbBlack
        End With
    End Sub

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Par défaut
    Bonjour Daniel,

    Merci, c'est exactement ce que je voulais. J'ai essayé d'adapter ton code pour faire deux choses de plus. Colorier la colonne avant, par exemple si je fais un nouveau tableau en AH AI, j'aimerais également que la colonne AG soit coloriée, de la même manière que AH et AI, et enfin que le trait en ligne 7 continue à se prolonger pour que le fichier soit vraiment uniforme.

    Merci beaucoup pour l'aide apportée.

    Bon week end

    Cordialement

    Alexandre

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    La variable "Col" représente la colonne de gauche du tableau; pour prendre une colonne plus à gauche, utilise "Col - 1" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Valider()
        With ActiveSheet.UsedRange
            col = .Columns.Count - .Column
            Range(Cells(8, col - 1), Cells(19, col + 1)).Interior.ColorIndex = 15
            Range(Cells(22, col - 1), Cells(36, col + 1)).Interior.ColorIndex = 15
            Range(Cells(37, col - 1), Cells(40, col + 1)).Interior.ColorIndex = vbBlack
            Range(Cells(41, col - 1), Cells(52, col + 1)).Interior.ColorIndex = 15
            Range(Cells(55, col - 1), Cells(68, col + 1)).Interior.ColorIndex = 15
            Range(Cells(69, col - 1), Cells(72, col + 1)).Interior.ColorIndex = vbBlack
        End With
    End Sub

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Par défaut
    Bonjour Daniel,

    Une fois de plus merci pour ton travail. Je voulais juste savoir, comment est ce que je dois faire pour ajouter un trait en ligne 7.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlMedium
    J'ai obtenu ce bout de code en faisant une macro automatique, mais je n'arrive pas à le rajouter et à l'adapter dans ta macro. Pourrais tu m'aider ?

    Merci d'avance

    Cordialement,

    Alexandre

  10. #10
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    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 Valider()
        With ActiveSheet.UsedRange
            col = .Columns.Count - .Column
        End With
            Range(Cells(8, col - 1), Cells(19, col + 1)).Interior.ColorIndex = 15
            Range(Cells(22, col - 1), Cells(36, col + 1)).Interior.ColorIndex = 15
            Range(Cells(37, col - 1), Cells(40, col + 1)).Interior.ColorIndex = vbBlack
            Range(Cells(41, col - 1), Cells(52, col + 1)).Interior.ColorIndex = 15
            Range(Cells(55, col - 1), Cells(68, col + 1)).Interior.ColorIndex = 15
            Range(Cells(69, col - 1), Cells(72, col + 1)).Interior.ColorIndex = vbBlack
            'ajout du trait en ligne 7
        With Range(Cells(7, col - 1), Cells(7, col + 1)).Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlMedium
        End With
    End Sub

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Par défaut
    Bonjour,

    Merci beaucoup pour cette macro, elle marche parfaitement. J'ai juste remplacer vbBlack par la valeur 1, car sur mon mac, vbBlack ne marchait pas.

    Merci encore pour ton travail

    Cordialement,

    Alexandre

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/12/2013, 11h32
  2. Probléme a colorier des movies clip
    Par design dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 02/05/2006, 08h57
  3. [VBA-E2003] Colorier des cellule sélectionnée
    Par 973thom dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 26/04/2006, 10h19
  4. Cacher des objets grâce à l'Objet TreeView
    Par The_Warlord dans le forum Composants VCL
    Réponses: 2
    Dernier message: 08/11/2004, 09h50
  5. Réponses: 6
    Dernier message: 04/08/2004, 16h09

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