mise en forme colonne VBA

ennrik

XLDnaute Nouveau
bonjour à tous:confused:

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
 

Statistiques des forums

Discussions
312 214
Messages
2 086 313
Membres
103 175
dernier inscrit
abcc