Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

mise en forme colonne VBA

ennrik

XLDnaute Nouveau
bonjour à tous

voici mon soucis, je souhaiterais mettre en forme (couleur de fond) des colonnes de tableau en fonction de chiffres sous ce même tableau. (dans le fichier joint en vert si "7") je sais le faire avec mise en forme conditionnel mais je le veux en VBA. je sais aussi le faire pour une ligne mais je but sur les colonnes (on ne peut avancé dans le lettres avec "dim integer")
merci d'avance à ceux qui m'aideront.

bonne journée
 

Pièces jointes

  • Classeur2.xls
    17.5 KB · Affichages: 56
  • Classeur2.xls
    17.5 KB · Affichages: 58
  • Classeur2.xls
    17.5 KB · Affichages: 69

Pierrot93

XLDnaute Barbatruc
Re : mise en forme colonne VBA

Bonjour,

tu n'as pas mis ton code... plutôt que "range", utilise la propriété "cells", où le 2ème argument est le numéro de colonne... exemple ci-dessous pour boucler sur les colonne A à E (ligne1)

Code:
Bonjour,

tu n'as pas mis ton code... plutôt que "range", utilise la propriété "cells", où le 2ème argument est le numéro de colonne... exemple ci-dessous pour boucler sur les colonne A à E (ligne1) de la feuille active.

bon après midi
@+
 

ennrik

XLDnaute Nouveau
Re : mise en forme colonne VBA

merci de ta réponse voici mon code

Dim I As Integer
For I = 2 To 8
If cells(150,I).Value = 7 Then cells(9,I : 37, I).Interior.ColorIndex = 9437183

Next I

je savais qu'il fallait passer par cells mais mon soucis et la plage de couleur car pour colorier la colonne je ne peux utiliser les ":" dans cells. sinon je pense que le reste est bon.
 

Pierrot93

XLDnaute Barbatruc
Re : mise en forme colonne VBA

Re,

après plusieurs méthodes s'offrent à toi... tout dépend de ce que tu veux faire... tu peux mettre tes "cells", dans un "range", utiliser "resize" etc...

Code:
Range(Cells(1, 3), Cells(10, 3)).Select
Cells(1, 4).Resize(10, 1).Select

Edition : bonjour toto
 
Dernière édition:

ennrik

XLDnaute Nouveau
Re : mise en forme colonne VBA

merci à tous les deux

voici mon code changé mais cependant il bloque sur range et la fin de la ligne

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim I As Integer
For I = 2 To 8
If Cells(38, I).Value = 7 Then Range(Cells(9, I), Cells(37, I)).Interior.ColorIndex = 9437183
Next I

End Sub
 

mth

XLDnaute Barbatruc
Re : mise en forme colonne VBA

Bonjour à tous

Pour le plaisir de saluer tototiti et pierrot

Histoire de participer un peu, même si n'apporte pas grand chose:
Code:
Sub couleur()
Dim col As Long
With Sheets("Feuil1")
    col = .Cells(38, Columns.Count).End(xlToLeft).Column
    For i = 2 To col
        If .Cells(150, i).Value = 7 Then
            .Range(.Cells(9, i), .Cells(37, i)).Interior.Color = 9437183
            Else
            .Range(.Cells(9, i), .Cells(37, i)).Interior.Color = xlNone
        End If
    Next i
End With
End Sub

Très bon après-midi à tous

mth
 

ennrik

XLDnaute Nouveau
Re : mise en forme colonne VBA

merci donc à tous les deux
j'ai trouvé le soucis le "colorindex" posait soucis car ce n'est pas un code couleur index mais juste une couleur donc sans "index" tout fonctionne.
cela m'apprendra à copier sans vérifier tout.

encore merci
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…