VBA Excel - Mise en forme à une colonne
Résolu
Zawzou
-
Zawzou -
Zawzou -
Bonjour à tous,
Je vous expose le code que j'ai :
Dim ligne, colonne As Integer
ligne = 5
For colonne = 3 To 999
Worksheets("1er semestre").Activate
If ActiveSheet.Cells(ligne, colonne).Text = "S" Then
ActiveSheet.Cells(ligne, colonne).EntireColumn.Interior.ColorIndex = 15
colonne = colonne + 1
End If
If ActiveSheet.Cells(lig, colonne).Text = "D" Then
ActiveSheet.Cells(lig, colonne).EntireColumn.Interior.ColorIndex = 15
colonne = colonne + 1
End If
Next colonne
Le but est de mettre en gris une colonne entière si une de ses cellules (en l'occurrence ici à la 5ème ligne) contient la lettre S ou D. Quand j'active ce code ça fonctionne sur ma feuille, les colonnes se grisent, mais Excel me propose le Débogage avec une "Erreur d'exécution '1004' : Erreur définie par l'application ou par l'objet"
J'ai essayé d'autres codes, des mises en forme conditionnelles que j'ai ensuite essayé de "tirer" sur une colonne entière mais je bloque et ça fait 3 heures que ça dure... Mes recherches sur le net ayant étaient infructueuses je viens vous demander de l'aide... Où est mon erreur s'il vous plaît ? Et comment la réparer ? Ou simplement faut-il que je change mon code complètement ?
Je vous expose le code que j'ai :
Dim ligne, colonne As Integer
ligne = 5
For colonne = 3 To 999
Worksheets("1er semestre").Activate
If ActiveSheet.Cells(ligne, colonne).Text = "S" Then
ActiveSheet.Cells(ligne, colonne).EntireColumn.Interior.ColorIndex = 15
colonne = colonne + 1
End If
If ActiveSheet.Cells(lig, colonne).Text = "D" Then
ActiveSheet.Cells(lig, colonne).EntireColumn.Interior.ColorIndex = 15
colonne = colonne + 1
End If
Next colonne
Le but est de mettre en gris une colonne entière si une de ses cellules (en l'occurrence ici à la 5ème ligne) contient la lettre S ou D. Quand j'active ce code ça fonctionne sur ma feuille, les colonnes se grisent, mais Excel me propose le Débogage avec une "Erreur d'exécution '1004' : Erreur définie par l'application ou par l'objet"
J'ai essayé d'autres codes, des mises en forme conditionnelles que j'ai ensuite essayé de "tirer" sur une colonne entière mais je bloque et ça fait 3 heures que ça dure... Mes recherches sur le net ayant étaient infructueuses je viens vous demander de l'aide... Où est mon erreur s'il vous plaît ? Et comment la réparer ? Ou simplement faut-il que je change mon code complètement ?
A voir également:
- VBA Excel - Mise en forme à une colonne
- Mise en forme conditionnelle excel - Guide
- Déplacer une colonne excel - Guide
- Trier colonne excel - Guide
- Mise en forme tableau word - Guide
- Formule somme excel colonne - Guide
3 réponses
bonsoir
quelle version utilises tu?
sur 2003, le message d'erreur intervient au-delà de 256 colonnes (limite d'Excel 2003)
A+
quelle version utilises tu?
sur 2003, le message d'erreur intervient au-delà de 256 colonnes (limite d'Excel 2003)
A+
Bonjour,
Les erreurs sont les 2 fois :
colonne = colonne + 1
(
Essaie :
Les erreurs sont les 2 fois :
colonne = colonne + 1
(
Essaie :
Sub Testt() Dim colonne As Integer Worksheets("1er semestre").Activate For colonne = 3 To 999 With ActiveSheet.Cells(5, colonne) If .Text = "S" Or .Text = "D" Then .EntireColumn.Interior.ColorIndex = 15 End If End With Next colonne End Sub