Microsoft 365 Bouton copier objets vba

kay

XLDnaute Nouveau
Bonjour

Je cherche à créer un bouton permettant de copier des éléments comprenant des objets de type liste déroulante, zone de texte et case à cocher ainsi que des titres, ça se présente comme ceci :

1036399


Merci
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

kay
Une image, c'est joli mais c'est tout
Un classeur joint c'est pas forcément joli, mais c'est mieux qu'une image parce qu'on peut y faire des tests ;)

Et ce que tu veux copier, tu le colles où?
Sur une feuille?
Sur une feuille mais dans un autre classeur
dans un userform ?
etc...
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Si j'étais moi, j'essaierai de me convaincre d'utiliser un Userform (en lieu et place de la feuille nommée Formulaire)
Et pour ce faire, je me serai convaincu de faire la chose suivante
ALT+F11
ALT+I
ALT+U
(ou pour le plaisir de caresser sa souris ALT+F11 puis Insertion/Userform)

Maintenant reste à savoir ce que tu penses de la suggestion du gars qui se pense être moi ;)
 

job75

XLDnaute Barbatruc
Bonjour kay, salut JM,

Je comprends que vous voulez modifier la macro du bouton :
VB:
Sub Bouton189_Cliquer()
Application.CopyObjectsWithCells = True
With ActiveSheet
    .DrawingObjects.Placement = 2
    If .Name <> "Definitions" And .Name <> "fx" And .Name <> "Needs" Then _
        .DrawingObjects("Zone combinée 160").TopLeftCell.Copy .[E10]
End With
End Sub
A+
 

Staple1600

XLDnaute Barbatruc
Re

Pour le moment, je n'ai compris ce que tu veux faire sur ta feuille Formulaire
et ta macro plante sur mon PC.

Et si j'utilise l'enregistreur de macros pour copier la zone combinée (juste pour faire un test)
j'obtiens ce type de syntaxe
VB:
Sub Macro1()
' Macro enregistrée le 22/07/2019 par inadvertance
ActiveSheet.Shapes("Drop Down 160").Copy
ActiveSheet.Paste
End Sub
Tu peux ajouter quelques explications supplémentaires, stp?

EDITION: Bonsoir job75
Pas vu ta réponse avant de poster.
 

kay

XLDnaute Nouveau
Oui alors l'objectif c'est de permettre aux personnes de formuler plusieurs demandes. Les 2 lignes (cf. capture premier message) correspondent à une demande, mais je veux permettre aux personnes de formuler autant de demande qu'ils le souhaitent.
 

kay

XLDnaute Nouveau
Bonjour kay, salut JM,

Je comprends que vous voulez modifier la macro du bouton :
VB:
Sub Bouton189_Cliquer()
Application.CopyObjectsWithCells = True
With ActiveSheet
    .DrawingObjects.Placement = 2
    If .Name <> "Definitions" And .Name <> "fx" And .Name <> "Needs" Then _
        .DrawingObjects("Zone combinée 160").TopLeftCell.Copy .[E10]
End With
End Sub
A+
Salut job75

Merci pour ton aide, c'était pas tout à fait cet objet là mais ces 2 lignes :

1036422


j'essaye de modifier ton code pour l'adapter peut-être que ça marchera
 

job75

XLDnaute Barbatruc
Bonjour kay, JM, le forum,

Il est facile de copier-coller les contrôles de formulaire, pour les contrôles ActiveX il faut les dupliquer :
VB:
Sub Bouton189_Cliquer()
Dim P As Range, decal&, o As OLEObject, c As Range
Application.CopyObjectsWithCells = True
With ActiveSheet
    If .Name = "Definitions" Or .Name = "fx" Or .Name = "Needs" Then Exit Sub
    Set P = .[D5:M9] 'plage à adapter
    decal = 5 'décalage à adapter
    Application.ScreenUpdating = False
    .DrawingObjects.Placement = 2
    P.Copy P.Offset(decal) 'copie les cellules et les contrôles de formulaire
    For Each o In .OLEObjects 'boucle pour copier les contrôles ActiveX
        Set c = o.TopLeftCell
        If Not Intersect(P, c) Is Nothing Then
            With o.Duplicate 'duplication
                .Left = o.Left
                .Top = c.Offset(decal).Top + o.Top - c.Top
            End With
        End If
    Next
End With
End Sub
Bonne journée.
 

Pièces jointes

  • Formulaire JDD(1).xlsm
    70.3 KB · Affichages: 3
Dernière édition:

job75

XLDnaute Barbatruc
Avec le fichier précédent les copies de CheckBox3 et CheckBox4 ne se voient pas pas car elles sont cachées par les TextBoxes.

Dans ce fichier (2) j'ai un peu modifié les positions pour qu'elles apparaissent.
 

Pièces jointes

  • Formulaire JDD(2).xlsm
    69.5 KB · Affichages: 5

Discussions similaires

Réponses
10
Affichages
355

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87