Copier coller un objet VBA

Bonjour,

je cherche à copier un bouton (shape) associé à une macro et coller ce bouton sur une autre feuille

pour cela je me base sur le code suivant

                                           ....

      ActiveSheet.Shapes.Range(Array("Button 3")).Copy

        With Worksheets(NomFeuille)

            'coller maintenant le bouton sur cette feuille

      ActiveSheet.Paste

                                     ....

dès que je rajoute "ActiveSheet.Paste" ça plante, auriez vous une idée svp

Merci beaucoup

Essaie ce code :

    ActiveSheet.Shapes.Range(Array("Button 3[code]

")).Select

Selection.Copy

Sheets("Feuil2").Select

ActiveSheet.Paste[/code]

Bye !


Pardon, erreur de manip

    ActiveSheet.Shapes.Range(Array("Button 3")).Select
    Selection.Copy
    Sheets("Feuil2").Select
    ActiveSheet.Paste

Bonjour,

Merci gmb pour votre reponse,

j'ai réussi à copier coller l'objet (bouton) en copiant collant des ranges, je n'ai pas réussi avec ".Shapes.Range(Array("Button 3"))" mais je pense que c'est plus approprié et plus propre d'utiliser cela à moins que vous ayez d'autre propositions,

pourriez vous donc m'aider pour le remplacer dans mon code

voici mon code actuel

Sub Recup()

    Dim plage As Range
    Dim NomFeuille As String
    Dim feuilleinitiale As String
    Dim plage_a_copier As Range
    Dim objet_a_copier As Range

    feuilleinitiale = CStr(Val(ActiveSheet.Name))

    With Worksheets("mensuel")

        NomFeuille = CStr(Val(ActiveSheet.Name) + 1)

        Set objet_a_copier = ActiveSheet.Range("Q9:T14")

        Sheets.Add Before:=Sheets("mensuel")    'créer un nouvel onglet qui se placera juste avant l'onglet "mensuel"
        ActiveSheet.Name = NomFeuille

        With Worksheets(NomFeuille)
            objet_a_copier.Copy ActiveSheet.Range("Q9")
        End With

    End With

End Sub

je vous joints mon fichier

merci

39test-frm.xlsm (33.22 Ko)
Rechercher des sujets similaires à "copier coller objet vba"