[Catégorie modifiée VB6 -> VBA] macro excel [Résolu]

Signaler
Messages postés
9
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
8 octobre 2015
-
Molenn
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
-
Bonjour,
je suis un gros débutant en macro excel. J'essaie de venir à bout d'un petit programme tout simple, je veux que ma cellule soit rouge quand j'écris KO et verte quand j'écris OK :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim i As Integer


For i = 2 To 200
If Worksheets("Action en cours").Cells(i, 4).Value = "OK" Then
Worksheets("Action en cours").Cells(i, 4).Interior.Color = RGB(0, 255, 0)
ElseIf Worksheets("Action en cours").Cells(i, 4).Value = "KO" Then
Worksheets("Action en cours").Cells(i, 4).Interior.Color = RGB(255, 0, 0)
End If
Next i


End Sub

J'ai une erreur dans la ligne If. Ce programme a marché une fois.

Quelle est mon erreur ?

9 réponses

Messages postés
14656
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
29 février 2020
139
Bonjour,

Quelle erreur ?

La feuille "Action en cours" existe ?

Mon site
Messages postés
9
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
8 octobre 2015

oui elle existe, l'éditeur me donne l'erreur 9. Problème d'indice. J'avoue ne pas comprendre.
Messages postés
9
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
8 octobre 2015

Nhenry, tu as mis l'accent sur mon problème. Mon code est bon, mais c'est pas "Action en cours" qu'il me fallait mettre mais "Actions en cours", oublis terrible.
Messages postés
14656
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
29 février 2020
139
Bonjour,

:)

Merci afin de faciliter la recherche des autres membres dans le même as que toi de mettre "Réponse acceptée" sur la ou les réponses qui t'ont aidées.

Une petite erreur pour le codeur, un grand désarroi pour l'utilisateur.

Mon site
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
Salut
Et tu ne pouvais pas faire une "Mise en forme conditionnelle" ? (menu Format)
Cela résout exactement ce type d'utilisation.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
9
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
8 octobre 2015

Bonjou jack,

Je suis passé par une macro car la mise en forme conditionnelle n'est pas très stable.
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
4
Tu pourrais préciser ce que tu entends par "pas très stable" ? Je n'ai jamais eu de pbs avec et j'ai du mal à imaginer quelque chose de natif dans EXCEL qui soit moins stable qu'une macro dans EXCEL (il y a bien quelques pbs dans certaines formules, mais ça n'est pas un pb de stabilité).

Molenn
Messages postés
9
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
8 octobre 2015

Je ne critique pas excel du tout. En passant par les formes conditionnelles, il y a des fois ou la couleur de mon texte change,elle se met en rouge clair au lieu de le laisser en noir et ceci en précisant bien quelles la couleur de police je voulais. Ensuite j'ai plus vite fait de faire une macro et de comprendre mon erreur que de chercher pourquoi ma forme conditionnelle ne marche pas. C'est une dizaine de ligne de code. C'est une habitude prise avec d'autres logicels. Et puis je suis débutant :)
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
4
Si la couleur ne s'affiche pas comme tu le souhaites, c'est que le format conditionnel est mal renseigné
Excel ne s'amuse pas à changer de couleur pour le plaisir.

Typiquement des pbs de cellule qui peuvent contenir à la fois du texte (ou du vide façon "") et du numérique ou de la date.

Tu peux critiquer Excel, ça ne me gêne en rien ^^. Mais être obligé de valider l'activation des macros à chaque ouverture de classeur, c'est lourd alors quand tu peux t'en passer. Et puis, tu as des gens qui refusent d'activer ces mêmes macros par peur du virus, si ton but est un jour de refiler ton classeur à quelqu'un, il ne fonctionnera pas comme il le devrait.
Et tout ça pour ne pas avoir voulu chercher

Et puis, une dizaine de ligne de code quand tu peux taper ça dans l'interface en 10 secondes chrono, c'est gâcher ^^

Puis que tu dis que tu es débutant en macro Excel, je vais te donner le conseil que je donne à tous mes collègues : Le moins de code possible ! Excel à une foultitude d'options et de fonctions intégrées, les utiliser au maximum. Ca fait moins de maintenance, et c'est quasiment toujours plus rapide.

Mais après, chacun est libre :p

Molenn