Mettre en forme une cellule donnée selon la cellule active
Swift06
-
Swift06 -
Swift06 -
Bonjour,
Je voudrais savoir si c'est possible de réaliser l'action suivante sur excel 2010.
Si je sélectionne une cellule de la colonne F je veux que la cellule F8 soit mise en forme par exemple fond bleu.
Si je sélectionne une cellule de la colonne G je veux que la cellule G8 soit mise en forme.
Si je sélectionne une cellule de la colonne H je veux que la cellule H8 soit mise en forme. Etc.
Je ne veux pas conserver la mise en forme, je veux qu'elle s'efface lorsque je change de colonne.
Merci de m'aider!
Je voudrais savoir si c'est possible de réaliser l'action suivante sur excel 2010.
Si je sélectionne une cellule de la colonne F je veux que la cellule F8 soit mise en forme par exemple fond bleu.
Si je sélectionne une cellule de la colonne G je veux que la cellule G8 soit mise en forme.
Si je sélectionne une cellule de la colonne H je veux que la cellule H8 soit mise en forme. Etc.
Je ne veux pas conserver la mise en forme, je veux qu'elle s'efface lorsque je change de colonne.
Merci de m'aider!
A voir également:
- Mettre en forme une cellule donnée selon la cellule active
- Mise en forme conditionnelle excel - Guide
- Proteger cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Mise en forme tableau word - Guide
- Excel somme si couleur cellule - Guide
3 réponses
Bonjour,
Ce que tu demandes est possible avec du VBA mais il faut voir toutes les conditions car si par exemple tu fermes après avoir cliqué sur F, la remise de ta mise en forme doit se faire si tu sauvegardes. Si une seule possibilité est oubliée tu vas barioler ton classeur.
Ce que tu demandes est possible avec du VBA mais il faut voir toutes les conditions car si par exemple tu fermes après avoir cliqué sur F, la remise de ta mise en forme doit se faire si tu sauvegardes. Si une seule possibilité est oubliée tu vas barioler ton classeur.
Bonjour,
Une proposition avec mémorisation dans A1 de l'adresse de la dernière cellule colorée .
https://www.cjoint.com/c/EDpxdPgg7qA
A+
Une proposition avec mémorisation dans A1 de l'adresse de la dernière cellule colorée .
https://www.cjoint.com/c/EDpxdPgg7qA
A+
C'est exactement ça sauf que quand j'exécute la procédure dans mon fichier ça ne fonctionne pas et j'obtiens l'erreur suivante :
Erreur d'exécution '1004' :
La méthode 'Range de l'objet'_Worksheet a échoué
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Columns("F:H")) Is Nothing Then
Range(Range("A1")).Interior.ColorIndex = xlNone
Cells(8, Target.Column).Interior.ColorIndex = 23
Range("A1") = Cells(8, Target.Column).Address
End If
End Sub
Erreur d'exécution '1004' :
La méthode 'Range de l'objet'_Worksheet a échoué
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Columns("F:H")) Is Nothing Then
Range(Range("A1")).Interior.ColorIndex = xlNone
Cells(8, Target.Column).Interior.ColorIndex = 23
Range("A1") = Cells(8, Target.Column).Address
End If
End Sub
Bonjour à tous,
ou bien avec une MFC (+ 1 ligne de code car Cellule() n'est pas volatile).
https://www.cjoint.com/c/EDpxGgmv7fW
Comme ça tu as l'embarras du choix :-)
eric
ou bien avec une MFC (+ 1 ligne de code car Cellule() n'est pas volatile).
https://www.cjoint.com/c/EDpxGgmv7fW
Comme ça tu as l'embarras du choix :-)
eric
Option Explicit Public pos As String Public clf As Long Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If pos <> "" Then Range(pos).Interior.Color = clf End Sub Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal sel As Range) If sel.Count > 1 Then Exit Sub If pos <> "" Then Range(pos).Interior.Color = clf pos = sel.Address clf = sel.Interior.Color sel.Interior.Color = 14470546 End SubChaque cellule sélectionnée est colorée.