RACCOURCIR une macro

BONJOUR,

Sachant que j'ai 15 feuilles et 120 boutons par feuilles.

Est il possible de raccourcir la macro "incomplète" ci-dessous?

D'avance merci

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Sur la feuille 1 la liste de mes 120 "noms"

sur les pages de 2 à 16 120 boutons.

sur la macro de la feuille 1 ce qui suit :

Private Sub Worksheet_Change(ByVal Target As Range)

' +-+-+-+-+-+-+-+-+

' + FEUILLE 2 +

' +-+-+-+-+-+-+-+-+

Sheets("Feuil2").Activate

Sheets("Feuil2").Shapes("Bouton 7").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A1").Value

Sheets("Feuil2").Shapes("Bouton 8").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A2").Value

Sheets("Feuil2").Shapes("Bouton 9").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A3").Value

Sheets("Feuil2").Shapes("Bouton 10").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A4").Value

' +-+-+-+-+-+-+-+-+

' + FEUILLE 3 +

' +-+-+-+-+-+-+-+-+

Sheets("Feuil3").Activate

Sheets("Feuil3").Shapes("Bouton 5").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A1").Value

Sheets("Feuil3").Shapes("Bouton 6").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A2").Value

Sheets("Feuil3").Shapes("Bouton 7").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A3").Value

Sheets("Feuil3").Shapes("Bouton 8").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A4").Value

' +-+-+-+-+-+-+-+-+

' + FEUILLE 4 +

' +-+-+-+-+-+-+-+-+

Sheets("Feuil4").Activate

Sheets("Feuil4").Shapes("Bouton 1").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A1").Value

Sheets("Feuil4").Shapes("Bouton 2").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A2").Value

Sheets("Feuil4").Shapes("Bouton 3").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A3").Value

Sheets("Feuil4").Shapes("Bouton 4").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A4").Value

' +-+-+-+-+-+-+-+-+

' + FEUILLE 5 +

' +-+-+-+-+-+-+-+-+

Sheets("Feuil5").Activate

Sheets("Feuil5").Shapes("Bouton 1").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A1").Value

Sheets("Feuil5").Shapes("Bouton 2").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A2").Value

Sheets("Feuil5").Shapes("Bouton 3").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A3").Value

Sheets("Feuil5").Shapes("Bouton 4").Select

Selection.Characters.Text = Sheets("Feuil1").Range("A4").Value

Sheets("feuil1").Activate

End Sub

Bonjour

tu peux déja faire cela remplacer:

Sheets("Feuil2").Shapes("Bouton 7").Select
Selection.Characters.Text = Sheets("Feuil1").Range("A1").Value

Par

Sheets("Feuil2").Shapes("Bouton 7").Characters.Text = Sheets("Feuil1").Range("A1").Value

DESOLE !!!

Ca ne marche pas

re

sans trop savoir et sans fichier pas facile

donc à la place de ça:

Sheets("Feuil2").Shapes("Bouton 7").Select
Selection.Characters.Text = Sheets("Feuil1").Range("A1").Value

mettre ça :

Sheets("Feuil2").Shapes("Button 7").TextFrame.Characters.Text = Sheets("Feuil1").Range("A1").Value

Bonsoir à tous,

Merci de clôturer ce poste qui traite du même sujet,

lien https://forum.excel-pratique.com/excel/donner-des-noms-a-des-boutons-avec-macro-t17916.html#p102914

et avant de dire que çà ne marche pas, assure-toi que l'erreur ne vienne pas de ta part !

Amicalement

Claude

Bonsoir

Claude, je vais me faire l'avocat de la défense.

J'ai testé la macro de l'autre fil. Elle ne fonctionne que si les noms sont dans la même feuille que les boutons.

Or, la demande est : Noms en Feuil1 = texte boutons des autres feuilles

Je n'arrive pas à modifier la macro

.DrawingObjects(1).Characters.Text = Sheets ("Feuil1"). Range("A1")

ne fonctionne pas

Amicalement

Nad

Bonsoir Nad,

J'attends Dan sur ce coup là, c'est pas très clair pour moi aussi !

Amicalement

Claude

Bonjour,

en supposant que dans tes 15 feuilles, tu n'as pas d'autres objets que tes CommandButtons, et que ceci ont été Copier/Coller dans les règles de l'art (du plus petit indice au plus grand), ci-dessous 2 codes, selon que les CommandButtons sont issus de la boîte à outils "Contrôles" ou "Formulaires"

BO Contrôles :

Sub renommer()
Dim Sh As Worksheet
Dim I As Byte
Dim Shp As Shape
For Each Sh In Sheets
    If Sh.Name <> "Feuil1" Then
        I = 1
        For Each Shp In Sh.Shapes
            Shp.DrawingObject.Object.Caption = Sheets("Feuil1").Cells(I, 1).Value
            I = I + 1
        Next Shp
    End If
Next Sh
End Sub

BO Formulaires :

Sub renommer2()
Dim Sh As Worksheet
Dim Shp As Shape
Dim I As Byte
For Each Sh In Sheets
    If Sh.Name <> "Feuil1" Then
        I = 1
        For Each Shp In Sh.Shapes
            Shp.DrawingObject.Caption = Sheets("Feuil1").Cells(I, 1).Value
            I = I + 1
        Next Shp
    End If
Next Sh
End Sub

S'il y a d'autres objets, il va falloir peaufiner un peu...

10boutons.zip (24.59 Ko)

-- Mer Juin 30, 2010 2:49 pm --

Re-,

Et derrière ce code raccourci, je subodore la question qui devrait suivre :

"Comment raccourci le code affecté à chaque bouton de chaque feuille"

Effectivement, avec tous tes boutons sur chaque feuille, il va falloir y affecter un code...

Cependant, un code par bouton, et ceci pour chaque feuille, il va y en avoir, des procédures....

Donc, on va utiliser un module de classe..

A l'ouverture, on intègre tous les boutons dans un "tableau", et chaque appui sur un bouton va déterminer une opération...

Ainsi, au lieu de multiples lignes de code dans chaque feuille, on n'a qu'une seule procédure dans un module de classe, qui déroulera le code voulu, sur la feuille voulue, en fonction du bouton appuyé...

Regarde le fichier joint

Edit, ce fichier a été développé avec des Boutons de Commande issus de la Barre d'Outils "Contrôles"..

Je crois que ces contrôles ne sont pas disponibles sur Mac, désolé pour les utilisateurs....

Bonjour à tous,

Hors sujet et sans préjuger du fichier,

Je me demande ce qu'on peut bien faire avec 120 boutons par feuille !

3 ou 4 listes déroulantes pourrait surement remplacer tout çà.

Quelle lourdeur !

Bonne journée

Claude

dubois a écrit :

Bonjour à tous,

Hors sujet et sans préjuger du fichier,

Je me demande ce qu'on peut bien faire avec 120 boutons par feuille !

3 ou 4 listes déroulantes pourrait surement remplacer tout çà.

Quelle lourdeur !

Bonne journée

Claude

Je ne vois pas l'utilité de ce post si j'ai 120 boutons c'est que je ne suis capable que de faire cela d'ou mes demandes d'aide.

Et pour "cousinhub" excuse le retad de mes remerciements, mais je ne doute pas que tu saches que quand on ""essaie"" de creer quelque chose on ne pense qu'a cela.

Merci aussi a ceux qui ont prient la peine de repondre en donnant des infos

Je demanderais ausi a celui qui en a la possibilité : soit de me donner le mode d'emploi pour fermer cette demande ou de le faire lui meme

Rechercher des sujets similaires à "raccourcir macro"