Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Colorier des cellules

3 réponses
Avatar
Charles Cournault
Bonsoir

Je voudrais pouvoir colorier des cellules
par simple clic, et ce, pour n'importe quel classeur.

J'ai trouvé une solution mais ce n'est peut être
pas la meilleure : quelqu'un a t il plus simple ?

'Le premier bouton de ma barre Standart créé la macro suivante :

Sub CreeMacro()
With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
X = .CountOfLines
.InsertLines X + 1, "Private Sub Workbook_SheetSelectionChange(ByVal Sh As
Object, ByVal Target As Excel.Range)"
.InsertLines X + 2, "With Selection.Interior"
.InsertLines X + 3, "If .ColorIndex=8 Then .ColorIndex=0 Else .ColorIndex=8"
.InsertLines X + 4, "End With"
.InsertLines X + 5, "End Sub"
End With
End Sub

'Le second bouton de ma barre Standard efface cette macro :

Sub SupprimeMacro()
With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
debut = .ProcStartLine("Workbook_SheetSelectionChange", vbext_pk_Proc)
nblignes = .ProcCountLines("Workbook_SheetSelectionChange", vbext_pk_Proc)
.deleteLines debut, nblignes
End With
End Sub

Merci

3 réponses

Avatar
Charles Cournault
Quelles macros complémentaires ? Ou les trouver ?


"Gaetan Mourmant" a écrit dans le message de news:

Bonjour,

As-tu essayé avec des macros complémentaires ?

--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining

"Charles Cournault" a écrit dans le message de
news: 3f4d06d0$0$239$
Bonsoir

Je voudrais pouvoir colorier des cellules
par simple clic, et ce, pour n'importe quel classeur.

J'ai trouvé une solution mais ce n'est peut être
pas la meilleure : quelqu'un a t il plus simple ?

'Le premier bouton de ma barre Standart créé la macro suivante :

Sub CreeMacro()
With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
X = .CountOfLines
.InsertLines X + 1, "Private Sub Workbook_SheetSelectionChange(ByVal Sh
As


Object, ByVal Target As Excel.Range)"
.InsertLines X + 2, "With Selection.Interior"
.InsertLines X + 3, "If .ColorIndex=8 Then .ColorIndex=0 Else
.ColorIndex=8"

.InsertLines X + 4, "End With"
.InsertLines X + 5, "End Sub"
End With
End Sub

'Le second bouton de ma barre Standard efface cette macro :

Sub SupprimeMacro()
With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
debut = .ProcStartLine("Workbook_SheetSelectionChange", vbext_pk_Proc)
nblignes = .ProcCountLines("Workbook_SheetSelectionChange",
vbext_pk_Proc)


.deleteLines debut, nblignes
End With
End Sub

Merci








Avatar
Gaetan Mourmant
En fait, je veux dire créer une macro complémentaire qui reprend le code que
tu généres...Si j'ai bien compris le problème.

Tiré de la FAQ :
http://longre.free.fr/pages/faq/#Macro%20XLA

Comment créer une macro complémentaire (fichier XLA) ?
Sous Excel, faire Fichier -> Enregistrer sous. Le type "macro
complémentaire" est en dernière position dans la liste déroulante "Type de
fichier". Contrairement à Excel 5/95, les macros XLA d'Excel 97 ne sont pas
cryptées.


--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining


"Charles Cournault" a écrit dans le message de
news: 3f4e6238$0$242$
Quelles macros complémentaires ? Ou les trouver ?


"Gaetan Mourmant" a écrit dans le message de news:

Bonjour,

As-tu essayé avec des macros complémentaires ?

--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining

"Charles Cournault" a écrit dans le message
de


news: 3f4d06d0$0$239$
Bonsoir

Je voudrais pouvoir colorier des cellules
par simple clic, et ce, pour n'importe quel classeur.

J'ai trouvé une solution mais ce n'est peut être
pas la meilleure : quelqu'un a t il plus simple ?

'Le premier bouton de ma barre Standart créé la macro suivante :

Sub CreeMacro()
With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
X = .CountOfLines
.InsertLines X + 1, "Private Sub Workbook_SheetSelectionChange(ByVal
Sh



As
Object, ByVal Target As Excel.Range)"
.InsertLines X + 2, "With Selection.Interior"
.InsertLines X + 3, "If .ColorIndex=8 Then .ColorIndex=0 Else
.ColorIndex=8"

.InsertLines X + 4, "End With"
.InsertLines X + 5, "End Sub"
End With
End Sub

'Le second bouton de ma barre Standard efface cette macro :

Sub SupprimeMacro()
With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
debut = .ProcStartLine("Workbook_SheetSelectionChange", vbext_pk_Proc)
nblignes = .ProcCountLines("Workbook_SheetSelectionChange",
vbext_pk_Proc)


.deleteLines debut, nblignes
End With
End Sub

Merci












Avatar
Gaetan Mourmant
Peut-être encore plus simple, simplement stocker la macro dans le classeur
perso.xls, s'il n'y a que toi qui l'utilise.

--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining

"Charles Cournault" a écrit dans le message de
news: 3f4e6238$0$242$
Quelles macros complémentaires ? Ou les trouver ?


"Gaetan Mourmant" a écrit dans le message de news:

Bonjour,

As-tu essayé avec des macros complémentaires ?

--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining

"Charles Cournault" a écrit dans le message
de


news: 3f4d06d0$0$239$
Bonsoir

Je voudrais pouvoir colorier des cellules
par simple clic, et ce, pour n'importe quel classeur.

J'ai trouvé une solution mais ce n'est peut être
pas la meilleure : quelqu'un a t il plus simple ?

'Le premier bouton de ma barre Standart créé la macro suivante :

Sub CreeMacro()
With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
X = .CountOfLines
.InsertLines X + 1, "Private Sub Workbook_SheetSelectionChange(ByVal
Sh



As
Object, ByVal Target As Excel.Range)"
.InsertLines X + 2, "With Selection.Interior"
.InsertLines X + 3, "If .ColorIndex=8 Then .ColorIndex=0 Else
.ColorIndex=8"

.InsertLines X + 4, "End With"
.InsertLines X + 5, "End Sub"
End With
End Sub

'Le second bouton de ma barre Standard efface cette macro :

Sub SupprimeMacro()
With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
debut = .ProcStartLine("Workbook_SheetSelectionChange", vbext_pk_Proc)
nblignes = .ProcCountLines("Workbook_SheetSelectionChange",
vbext_pk_Proc)


.deleteLines debut, nblignes
End With
End Sub

Merci