VBA Excel - Mise en forme à une colonne [Résolu/Fermé]

Signaler
-
 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 ?



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+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
8535
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
9 avril 2021
1 657
Bonjour,

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
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
8535
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
9 avril 2021
1 657
PS : Avec Excel 2007 ou 2010 (avant il n'y avait que 256 colonnes pas 999)
Merci à vous deux !!!

Je travaille en effet sur 2003, du coup il y avait trop de ligne. De la même manière j'ai simplifié mon code du coup qui était bien compliqué comparé au votre !


Merci beaucoup encore je vais pouvoir passer à la suite ! Soulagée... :)