Language VBA pour mise en forme

  • Initiateur de la discussion Initiateur de la discussion fabien60
  • 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 !

F

fabien60

Guest
Bonjour, j'ai un besoin urgent de connaitre la manière de faire un script VBA ayant la faculté sous excel de :

si la cellule A est verte alors la cellule B se met en bleu.

Merci d'avance pour votre aide
 
Re : Language VBA pour mise en forme

Salut fabien60,
bienvenu sur le forum. Essayez ceci

Code:
Sub test()

Dim VotreDerniereLigne As Integer

VotreDerniereLigne = 5
For i = 1 To VotreDerniereLigne
    If Cells(i, 1).Interior.ColorIndex = 43 Then 'Cellule verte, vous n'avez qu'à changer le numéro au besoin
        Cells(i, 2).Interior.ColorIndex = 5 'Cellule bleue, vous n'avez qu'à changer le numéro au besoin
    End If
Next i
  
'Possibilités de vert : 43, 50, 14, 4, 35
'Possibilités de bleu : 5, 41, 33, 37

End Sub

Bonne journée !

Étienne
 
Re : Language VBA pour mise en forme

Re,
le principe de base que je vous ai énoncé dans mon message précédent est le suivant. Faire une boucle sur l'ensemble des cellules de la colonne A et quand on en frappe une qui est verte, alors on colorie la cellule qui lui est associée dans la colonne B en bleu.

Si vous souhaitez seulement réaliser cela pour une seule cellule, alors vous pouvez faire quelque chose comme ceci.

Code:
If Range("A1").Interior.ColorIndex = 43 Then
      Range("B1").Interior.ColorIndex = 5
End if
'Range("A1") et Cells(1,1) sont un équivalent, seulement écrit différement.
Cordialement,

Étienne
 
Re : Language VBA pour mise en forme

Désolé, je débute en VBA.
J'essaye de comprendre les différents échelons.
1. le tableau se nomme "Suivi Financier RU Epinay admin"
2. je nomme la macro "couleur"
3. les cellules concernés sont "AI6" et "AJ6" qui doit se mettre en bleu lorsque "AI6" se met en vert.

Dites moi si il manque des infos. Merci encore.
 
Re : Language VBA pour mise en forme

Re,
Voici les quelques lignes de code.

Code:
Sub Couleur

If Range("AI6").Interior.ColorIndex = 43 Then
    Range("AJ6").Interior.ColorIndex = 5
End If

End Sub

Vous pouvez aussi placer un code comme celui-là dans le code de la feuille en question

Code:
Private Sub Worksheet_Activate

If Range("AI6").Interior.ColorIndex = 43 Then
    Range("AJ6").Interior.ColorIndex = 5
End If

End Sub
Vous ne seriez donc pas obligé de le déclencher manuellement. À chaque fois que vous entrez sur la feuille, si la condition est remplie, alors l'action s'exécute.

Bonne chance !

Étienne
 
Re : Language VBA pour mise en forme

Bonjour,
Ca marche :
Sub Macro10()
'
' Macro10 Macro
' Macro enregistrée le 15/07/2009 par administrateur
'

'
ActiveCell.FormulaR1C1 = "4"
Range("AJ6").Select
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
End With
End Sub

Par contre je voudrais que la macro se lance automatiquement et que lorsque j'enlève la couleur verte la macro se remette en blanc.

Merci d'avance
 
Re : Language VBA pour mise en forme

Salut Fabien,
le mieux que je puisse faire pour toi en ce moment, c'est une macro événementielle qui se déclenche lorsqu'il y a une modification dans la feuille. Le seul fait de changer la couleur de la cellule ne permet pas de déclencher la macro. Il faut absolument un changement numérique. Peut-être y a t-il d'autre méthode plus efficace de fonctionner mais je ne les connais pas. Voici donc le code à insérer dans le module de la feuille en question et non dans ThisWorkbook ou dans un Module 1 par exemple.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 
If Range("AI6").Interior.ColorIndex = 4 Then
    Range("AJ6").Interior.ColorIndex = 34
Else
    Range("AJ6").Interior.ColorIndex = xlNone
End If

End Sub

Cordialement,

Étienne
 
- 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

Réponses
4
Affichages
324
Réponses
5
Affichages
666
W
Retour