Autres Appliquer à tous les boutons de commande de la feuille le même format

Fab38

XLDnaute Nouveau
Bonjour,
Sur une feuille, j'ai environ 400 boutons de commande qui change de couleur si click.
Je voudrai à la fin leur rendre leur format initial à tous. Voici mon code qui ne fonctionne pas (il sélectionne bien tous les boutons mais n'applique aucun format) :

ActiveSheet.Shapes.SelectAll
Selection.ForeColor = RGB(50, 100, 200)
Selection.ForeColor = RGB(255, 255, 255)

(erreur : méthode non gérée par l'objet)
Quelqu'un a une idée ?

Merci à tous
(excel 2007)
 
Solution
Bonjour,

S vos boutons sont des boutons activeX et non de formulaire
VB:
Dim shp As Shape
For Each shp In Worksheets("Feuil1").Shapes
    'Première méthode possible.
    shp.OLEFormat.Object.Object.BackColor = vbRed ' fond du bouton
    'Deuxième méthode possible.
    shp.DrawingObject.Object.ForeColor = vbWhite  ' écriture du bouton
Next
Mais 400 boutons sur une feuille, je doute qu'il n'y ait pas un moyen de faire autrement !

Cordialement

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

S vos boutons sont des boutons activeX et non de formulaire
VB:
Dim shp As Shape
For Each shp In Worksheets("Feuil1").Shapes
    'Première méthode possible.
    shp.OLEFormat.Object.Object.BackColor = vbRed ' fond du bouton
    'Deuxième méthode possible.
    shp.DrawingObject.Object.ForeColor = vbWhite  ' écriture du bouton
Next
Mais 400 boutons sur une feuille, je doute qu'il n'y ait pas un moyen de faire autrement !

Cordialement
 
Dernière édition:

Fab38

XLDnaute Nouveau
Bonjour,

Si comme cela semble l'être vos boutons sont des boutons de formulaire et non des ActiveX
VB:
Dim shp As Shape
For Each shp In Worksheets("Feuil1").Shapes
    'Première méthode possible.
    shp.OLEFormat.Object.Object.BackColor = vbRed ' fond du bouton
    'Deuxième méthode possible.
    shp.DrawingObject.Object.ForeColor = vbWhite  ' écriture du bouton
Next
Mais 400 boutons sur une feuille, je doute qu'il n'y ait pas un moyen de faire autrement !

Cordialement

Merci beaucoup.
Tout marche à merveille.
Cordialement,
 

Fab38

XLDnaute Nouveau
Bonjour,

Si comme cela semble l'être vos boutons sont des boutons de formulaire et non des ActiveX
VB:
Dim shp As Shape
For Each shp In Worksheets("Feuil1").Shapes
    'Première méthode possible.
    shp.OLEFormat.Object.Object.BackColor = vbRed ' fond du bouton
    'Deuxième méthode possible.
    shp.DrawingObject.Object.ForeColor = vbWhite  ' écriture du bouton
Next
Mais 400 boutons sur une feuille, je doute qu'il n'y ait pas un moyen de faire autrement !

Cordialement


Merci beaucoup,
Tout marche à merveille
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 164
Membres
103 149
dernier inscrit
Deepkneec