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

Sélection de plusieurs cellules pour y appliquer mise en forme

6 réponses
Avatar
Christian de BXL
Bonsoir à tous,
Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est
possible de les sélectionner successivement en maintenant la touche Ctrl
enfoncée, puis de leur appliquer une couleur de remplissage.
J'ai créé une macro permettant de mettre une couleur de remplissage et une
barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir
sélectionner plusieurs cellules et y appliquer cette mise en forme d'un seul
coup comme dans l'application de la couleur de remplissage.
En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule.
En essayant l'enregistreur de macro, il m'enregistre les coordonnées des
cellules sélectionnées de façon formelle.
Y a-t-il une solution?
Merci
Ma macro est la suivante:

Sub Oblique_Couleur_une_cellule2()

ActiveCell.Offset.Range("A1").Select
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With

End Sub

6 réponses

Avatar
Philippe.R
Bonsoir,
Chez moi, ta macro, allégée de :

ActiveCell.Offset.Range("A1").Select

applique la mise en forme sur l'ensemble des cellules sélectionnées
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Christian de BXL" a écrit dans
le message de news:
Bonsoir à tous,
Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est
possible de les sélectionner successivement en maintenant la touche Ctrl
enfoncée, puis de leur appliquer une couleur de remplissage.
J'ai créé une macro permettant de mettre une couleur de remplissage et une
barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir
sélectionner plusieurs cellules et y appliquer cette mise en forme d'un
seul
coup comme dans l'application de la couleur de remplissage.
En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule.
En essayant l'enregistreur de macro, il m'enregistre les coordonnées des
cellules sélectionnées de façon formelle.
Y a-t-il une solution?
Merci
Ma macro est la suivante:

Sub Oblique_Couleur_une_cellule2()

ActiveCell.Offset.Range("A1").Select
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With

End Sub


Avatar
MichDenis
En supposant que ta plage de cellule est continue :

Ta macro va s'appliquer sur toute la plage A1:A10 de la feuille
active du classeur actif.
'-------------------------------
Sub Oblique_Couleur_une_cellule2()

With Range("A1:C10")
With .Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With .Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End With
End Sub
'-------------------------------

Si tu as des plages discontinue, tu peux faire ceci :
Il arrive que ce type de syntaxe Range("A1:C10,G1:G15")
bogue sans que l'on sache pourquoi... voir l'autre méthode plus bas !
'------------------------------------
Sub Oblique_Couleur_une_cellule2()

With Range("A1:C10,G1:G15")
With .Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With .Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End With
End Sub
'------------------------------------


Mais je te conseille plutôt ceci :

'---------------------------------------
Sub Oblique_Couleur_une_cellule2()

Dim Arr()
'Tu listes tes plages de cellules
Arr = Array("A1:C10", "G1:G15", "H45", "K32", "B40:C45")

For Each elt In Arr
With Worksheets("Feuil1") 'nom feuille à adapter
With .Range(elt)
With .Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With .Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
End With
End With
Next
End Sub
'---------------------------------------



"Christian de BXL" a écrit dans le message de news:

Bonsoir à tous,
Lorsqu'on veut mettre en couleur plusieurs cellules d'un seul coup, il est
possible de les sélectionner successivement en maintenant la touche Ctrl
enfoncée, puis de leur appliquer une couleur de remplissage.
J'ai créé une macro permettant de mettre une couleur de remplissage et une
barre oblique dans une cellule sélectionnée. Comment faire pour pouvoir
sélectionner plusieurs cellules et y appliquer cette mise en forme d'un seul
coup comme dans l'application de la couleur de remplissage.
En essayant la touche Ctrl, la macro ne s'applique qu'à une seule cellule.
En essayant l'enregistreur de macro, il m'enregistre les coordonnées des
cellules sélectionnées de façon formelle.
Y a-t-il une solution?
Merci
Ma macro est la suivante:

Sub Oblique_Couleur_une_cellule2()

ActiveCell.Offset.Range("A1").Select
With Selection.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With

End Sub
Avatar
PMO
Bonjour,

Essayez le code suivant :

'***********
Sub Oblique_Couleur_Selection()
Dim R As Range
Set R = Selection
With R.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With R.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Set R = Nothing
End Sub
'***********

Cordialement.

PMO
Patrick Morange
Avatar
MichDenis
| Set R = Selection

Avant d'utiliser cette ligne de code, il faudrait quand même
que tu testes à savoir si l'objet sélectionné est une plage de
cellules... Selection est un terme générique pour peu importe
le type d'objet sélectionné dans l'application...

If TypeName(Selection) = "Range" Then

(un peu d'ergotage en ce lundi matin)



"PMO" <patrickPOINTmorangeAROBASElapostePOINTnet> a écrit dans le message de news:

Bonjour,

Essayez le code suivant :

'***********
Sub Oblique_Couleur_Selection()
Dim R As Range
Set R = Selection
With R.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
With R.Interior
.ColorIndex = 34
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Set R = Nothing
End Sub
'***********

Cordialement.

PMO
Patrick Morange
Avatar
PMO
Bonjour,

Vous avez parfaitement raison et il est donc plus
que nécessaire d'inclure ce test pour éviter un bug.

Cordialement.

PMO
Patrick Morange
Avatar
Christian de BXL
Bonsoir à tous,
Merci pour vos solutions.
Celle de Philippe, la plus simple, fonctionne parfaitement et me convient.
Elle me permet de sélectionner plusieurs cellules contigues ou non, dans ma
feuille et de leur appliquer ma mise en forme den une seule fois.
Encore merci
Christian