Couleur de fond = blanc pour toutes les Shapes à l'activation de la feuille

exene

XLDnaute Accro
Bonjour,

En feuille 1 des shapes représentant des quartiers d'une ville. A l'activation de cette feuille, je souhaiterais que toutes les shapes aient une couleur de fond blanche. J'ai essayé avec l'enregistreur de macro mais toujours des erreurs.

Ci-joint le fichier

Merci
 

Pièces jointes

  • Shapes.xls
    153 KB · Affichages: 59
  • Shapes.xls
    153 KB · Affichages: 61
  • Shapes.xls
    153 KB · Affichages: 61

exene

XLDnaute Accro
Re : Couleur de fond = blanc pour toutes les Shapes à l'activation de la feuille

Bonjour,

Merci pour ta réponse mais j'ai une erreur d'exécution "438"
Propriété ou méthode non gérée par cet objet
HTML:
sh.DrawingObject.Interior.ColorIndex = 0

@+
 

Pierrot93

XLDnaute Barbatruc
Re : Couleur de fond = blanc pour toutes les Shapes à l'activation de la feuille

Bonjour,

essaye peut être ceci, à placer dans le module de la feuille concernée :
Code:
Option Explicit
Private Sub Worksheet_Activate()
Dim sh As Shape
For Each sh In Me.Shapes
    sh.Fill.Visible = msoFalse
Next sh
End Sub

bonne journée
@+
 

exene

XLDnaute Accro
Re : Couleur de fond = blanc pour toutes les Shapes à l'activation de la feuille

Bonjour,
J'ai testé le code et cela fonctionne cependant ensuite j'utilise cette macro
Sub colorShape()
Dim form As Shape, c As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each form In Sheets("Feuil4").Shapes 'boucle sur tous les shapes de la feuille active
With form
Set c = Sheets("Feuil3").[C:C].Find(.Name, , xlValues, xlWhole) 'cherche si le nom du shape existe dans la colonne H
If Not c Is Nothing Then 's'il existe
With .Fill

.ForeColor.SchemeColor = 13 'on change la couleur de fond avec du jaune (13)
End With
End If
End With
Next form

et elle ne fonctionne plus

@+
 

Paf

XLDnaute Barbatruc
Re : Couleur de fond = blanc pour toutes les Shapes à l'activation de la feuille

bonjour à tous

la proposition de kingfadhel (post #2) provoque une erreur d'exécution "438" Propriété ou méthode non gérée par cet objet .

En faisant en sorte que ces objets ne soient pas pris en compte, ça fonctionne:
Code:
Dim sh As Shape
For Each sh In Shapes
    If Not sh.Name Like "Line*" And Not sh.Name Like "Connecteur*" Then
        sh.DrawingObject.Interior.ColorIndex = 0
    End If
Next

bonne suite
 

exene

XLDnaute Accro
Re : Couleur de fond = blanc pour toutes les Shapes à l'activation de la feuille

Bonjour kingfadhel, Pierrot, Paf, le forum

Je viens d'essayer les deux codes de Pierrot. La première macro à l'activation de la feuille met bien les shapes avec un fond blanc, la seconde permet bien de colorer les zones choisies.
@ Paf, je teste ta proposition

Encore merci.

@+
 

Discussions similaires

Réponses
2
Affichages
429

Statistiques des forums

Discussions
312 332
Messages
2 087 367
Membres
103 528
dernier inscrit
maro