[Résolu] Problème formule VBA

  • Initiateur de la discussion Initiateur de la discussion Booky
  • Date de début Date de début

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 !

B

Booky

Guest
Hello à tous,

Je début sur VBA et j'essaye de m'auto-former.

J'ai réalisé cette formule
Sub couleurs()
Dim cellule As Range
For Each cellule In Selection.Cells
Select Case cellule.Value
Case Is <= 200: cellule.Font.Color = RGB(255, 0, 0)
Case Is > 230: cellule.Font.Color = RGB(0, 255, 0)
Case Is < 230: cellule.Font.Color = RGB(255, 160, 0)
Case Else
cellule.Font.Color = RGB(255, 0, 0)
End Select
Next
End Sub


Sauf que j'aimerais qu'il me prenne uniquement les données de la colonne E de E4 à E200.
Je souhaite pour que quand je clique sur le bouton il me colore ce que je souhaite sans que je sois obliger de sélectionner la colonne et du coup le temps de réponse est assez long et n'est pas très pratique pour utiliser le tableau.

Merci pour votre aide !
 
Dernière modification par un modérateur:
Re : Problème formule VBA

Bonjour

L'objectif est-il d'apprendre VBA ?

Si oui soit il faut sélectionner la plage E4 à E200 soit il faut restreindre le code à cette plage en donnant son adresse plutôt que d'appliquer le code à Selection.cells, soit il déterminer dans le code la plage remplie pour plus de souplesse.

Si non un mise en forme conditionnelle est plus simple à réaliser et plus dynamique
 
Re : Problème formule VBA

Oui l'objectif est d'essayer d'apprendre

Donc si j'ai bien compris, je dois remplacer par :
Range ("E4";"E200").Select

C'est ça à la place de ça
For Each cellule In Selection.Cells
Select Case cellule.Value

Correct?
 
Re : Problème formule VBA

Bonjour,
Ou tu peux nommer ta plage (E4:E200) (par ex: donnees (voir ex ci-joint)) et faire un :

for each cellule in range("donnees") 'pour moi plus facile de s'y retrouver...
Select Case cellule.Value
Case Is <= 200: cellule.Font.Color = RGB(255, 0, 0)
Case Is > 230: cellule.Font.Color = RGB(0, 255, 0)
Case Is < 230: cellule.Font.Color = RGB(255, 160, 0)
Case Else
cellule.Font.Color = RGB(255, 0, 0)
End Select
next
Bon dimanche.
John
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
596
Réponses
5
Affichages
918
Réponses
4
Affichages
589
Réponses
1
Affichages
313
Réponses
0
Affichages
658
Réponses
7
Affichages
990
Retour