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

problème boucle vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mandine

XLDnaute Nouveau
Bonjour à tous,

J'ai un petit problème sous vba. Je souhaite colorer des cases en fonction de leur contenu. Le programme fonctionne lorsque je n'ai pas mis la boucle sur plusieurs cellules différentes, avec un Select Case ("D10") par exemple.
Lorsque je mets la boucle, j'ai l'erreur 438 Propriété ou méthode non gérée par cet objet.

Quelqu'un peut-il m'aider ? Voici mon programme :

Sub testcoul()
' macro testcouleurs

With ActiveSheet
Dim oRange As Range
For Each oRange In Range("D10:AT10").Cells
Select Case oRange
Case Is = "faux"
.ColorIndex = 3
.Pattern = xlSolid
Case Is = "ECART IMPORTANT"
.ColorIndex = 45
.Pattern = xlSolid
Case Is = "ECART MODESTE"
.ColorIndex = 6
.Pattern = xlSolid
Case Is = "vrai"
.ColorIndex = 4
.Pattern = xlSolid
Case Else
.ColorIndex = 6
.Pattern = xlSolid
End Select
Next
End With
End Sub


Par avance merci pour vos réponses
Amandine
 
Re : problème boucle vba

Bonjour à tous,
j'ai essayé d'autres choses mais ça ne marche toujours pas... mon dernier essai est :

Sub testcoul()
' macro couleurs
Dim i As Range
With ActiveSheet

For i = "D10" To "AT10"
Select Case i
Case Is = "A BATIR"
.ColorIndex = 3
.Pattern = xlSolid
Case Is = "ECART IMPORTANT"
.ColorIndex = 45
.Pattern = xlSolid
Case Is = "ECART MODESTE"
.ColorIndex = 6
.Pattern = xlSolid
Case Is = "REFERENT"
.ColorIndex = 4
.Pattern = xlSolid
Case Else
.ColorIndex = 6
.Pattern = xlSolid
i = i + 1
End Select
End With
End Sub

Ou ceci :
Sub testcoul()
' macro couleurs
Dim i As Range
With ActiveSheet
For Each i In Range("D10:AT10")
Select Case i
Case Is = "A BATIR"
.ColorIndex = 3
.Pattern = xlSolid
Case Is = "ECART IMPORTANT"
.ColorIndex = 45
.Pattern = xlSolid
Case Is = "ECART MODESTE"
.ColorIndex = 6
.Pattern = xlSolid
Case Is = "REFERENT"
.ColorIndex = 4
.Pattern = xlSolid
Case Else
.ColorIndex = 6
.Pattern = xlSolid
End Select
Next i

End With
End Sub

Quelqu'un aurait-il une idée svp ? Merci
 
Dernière édition:
Re : problème boucle vba

Bonjour,

A mon avis, le problème se situe là :
With ActiveSheet
Dim oRange As Range
For Each oRange In Range("D10:AT10").Cells
Select Case oRange
Case Is = "faux"
.ColorIndex = 3 etc...

Le point devant .ColorIndex indique que ce même colorindex appartient à l'objet déclaré par With. Or il se trouve que cet objet est ActiveSheet et la propriété colorindex ne s'applique pas à ActiveSheet.

Jocelyn
 
Re : problème boucle vba

J'ai essayé en mettant With Worksheets ("nomdemafeuille") et toujours le meme problème. Les mêmes instructions fonctionnent quand il n'y a pas de boucle et ne fonctionnent plus quand je mets une boucle.

Si j'applique ce que tu dis joss je remplace mon colorindex par quoi ?
MErci
 
Re : problème boucle vba

Essaye ça:
Sub couleur()
With ActiveSheet
For col = 4 To 46
Select Case .Cells(10, col)
Case "ECART MODESTE"
.Cells(10, col).Interior.ColorIndex = 45
Case "ECART IMPORTANT"
.Cells(10, col).Interior.ColorIndex = 6
Case "faux1"
.Cells(10, col).Interior.ColorIndex = 3
Case "vrai1"
.Cells(10, col).Interior.ColorIndex = 4
Case Else
.Cells(10, col).Interior.ColorIndex = 6
End Select
Next col
End With

End Sub

j'ai remplacé vrai et faux par vrai1 et faux1 , car vrai et faux sont des mots réservés.

Jocelyn
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
445
Réponses
7
Affichages
285
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
502
Réponses
4
Affichages
439
Réponses
4
Affichages
403
Réponses
6
Affichages
430
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…