Besoin d'aide pettite macro excel (coloriage)
Résolu
O2b
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
O2b Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
O2b Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ca y est, voila enfin mes premiers pas dans la programmation. Tout d'abord, bonjour à tous les programmateurs et programmatrices. Je sius en plein projet de gmao et petit à petit je vais sûrement avoir besoin de votre aide et de vos comptétences.
Voila mon premier problème : J'ai mis en place une petite macro dans une feuille Excel permettant de colorier les lignes de trois couleurs différentes suivant trois instructions différentes, à savoir la lettre P, C et HC. Cependant cette macro me colorie les lignes entières. Je voudrais juste colorier les lignes de la cellule A jusqu'à la cellule I. Qulequ'un popurrait me cooriger ma pette macro SVp.
Sub Bouton1_Clic()
Dim c As Range
For Each c In ActiveSheet.Range("i1:i200")
If UCase(c) = "P" Then
c.EntireRow.Interior.Color = RGB(0, 255, 0)
ElseIf UCase(c) = "C" Then
c.EntireRow.Interior.Color = RGB(255, 0, 0)
ElseIf UCase(c) = "HC" Then
c.EntireRow.Interior.Color = RGB(255, 255, 0)
ElseIf UCase(c) = "" Then
c.EntireRow.Interior.Color = RGB(255, 255, 255)
End If
Next
End Sub
COrdialement,
O2b,
Ca y est, voila enfin mes premiers pas dans la programmation. Tout d'abord, bonjour à tous les programmateurs et programmatrices. Je sius en plein projet de gmao et petit à petit je vais sûrement avoir besoin de votre aide et de vos comptétences.
Voila mon premier problème : J'ai mis en place une petite macro dans une feuille Excel permettant de colorier les lignes de trois couleurs différentes suivant trois instructions différentes, à savoir la lettre P, C et HC. Cependant cette macro me colorie les lignes entières. Je voudrais juste colorier les lignes de la cellule A jusqu'à la cellule I. Qulequ'un popurrait me cooriger ma pette macro SVp.
Sub Bouton1_Clic()
Dim c As Range
For Each c In ActiveSheet.Range("i1:i200")
If UCase(c) = "P" Then
c.EntireRow.Interior.Color = RGB(0, 255, 0)
ElseIf UCase(c) = "C" Then
c.EntireRow.Interior.Color = RGB(255, 0, 0)
ElseIf UCase(c) = "HC" Then
c.EntireRow.Interior.Color = RGB(255, 255, 0)
ElseIf UCase(c) = "" Then
c.EntireRow.Interior.Color = RGB(255, 255, 255)
End If
Next
End Sub
COrdialement,
O2b,
A voir également:
- Besoin d'aide pettite macro excel (coloriage)
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
3 réponses
Bonjour,
voici une solution avec une autre méthode
voici une solution avec une autre méthode
Option Explicit Sub Bouton1_Clic() Dim c As Range, cellule As Range Dim lig As Byte Application.ScreenUpdating = False For Each c In ActiveSheet.Range("i1:i200") c = UCase(c) lig = c.Row Set cellule = Range(Cells(lig, 1), Cells(lig, 9)) Select Case c Case "P" cellule.Interior.Color = RGB(0, 255, 0) Case "C" cellule.Interior.Color = RGB(255, 0, 0) Case "HC" cellule.Interior.Color = RGB(255, 255, 0) Case "" cellule.Interior.Color = RGB(255, 255, 255) End Select Next End Sub
Bonjour, Bonjour Michel
Très bonne solution, et peut-être par facilité remplacer les lignes
cellule.Interior.Color = RGB(255, 255, 255)
par
cellule.Interior.ColorIndex =2 (de 1 à 48) les couleurs excel
A+
Très bonne solution, et peut-être par facilité remplacer les lignes
cellule.Interior.Color = RGB(255, 255, 255)
par
cellule.Interior.ColorIndex =2 (de 1 à 48) les couleurs excel
A+
Bonjour Lermite, re O2B
A propos de couleur;
Ci-joint classeur trouvé il y a longtemps 'chaipuhou" sur le net bien pratique: à mettre dans son grenier perso.
https://www.cjoint.com/?ldrqeVsmER
bonne soirée
A propos de couleur;
Ci-joint classeur trouvé il y a longtemps 'chaipuhou" sur le net bien pratique: à mettre dans son grenier perso.
https://www.cjoint.com/?ldrqeVsmER
bonne soirée
Bonjour,
Quel bonheur de trouver des réponses aussi rapidement. Merci beaucoup pour votre aide. Reste plus qu'à moi de comprendre votre solution mais en tout cas, elle fonctionne à merveille.
Cordialement,
O2b
P.S: J'ai posté un deuxième message concernant une aide macro pour la copie de chacunes de ces lignes dans trois classeurs distincts. Soit respectivement, chaque fois qu'une ligne est coloriée en rouge (ceci est un exemple), elle est automatiquement recopiée dans son tableau respectif, à savoir taleau Correctif pour couleur rouge (Onglet se trouvant dans le même classeur).
Quel bonheur de trouver des réponses aussi rapidement. Merci beaucoup pour votre aide. Reste plus qu'à moi de comprendre votre solution mais en tout cas, elle fonctionne à merveille.
Cordialement,
O2b
P.S: J'ai posté un deuxième message concernant une aide macro pour la copie de chacunes de ces lignes dans trois classeurs distincts. Soit respectivement, chaque fois qu'une ligne est coloriée en rouge (ceci est un exemple), elle est automatiquement recopiée dans son tableau respectif, à savoir taleau Correctif pour couleur rouge (Onglet se trouvant dans le même classeur).
Quel bonheur de trouver des réponses aussi rapidement. Merci beaucoup pour votre aide. Reste plus qu'à moi de comprendre votre solution mais en tout cas, elle fonctionne à merveille.
Cordialement,
O2b
P.S: J'ai posté un deuxième message concernant une aide macro pour la copie de chacunes de ces lignes dans trois classeurs distincts. Soit respectivement, chaque fois qu'une ligne est coloriée en rouge (ceci est un exemple), elle est automatiquement recopiée dans son tableau respectif, à savoir taleau Correctif pour couleur rouge (Onglet se trouvant dans le même classeur).