Copier et Renommer un contrôle en VBA

  • Initiateur de la discussion Initiateur de la discussion Lone-wolf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lone-wolf

XLDnaute Barbatruc
Bonsoir le Forum,

pour les personnes qui débute voici le code pour copier et renommer un contrôle en VBA.

Code:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False

For x = 1 To 1
Sheets("Feuil2").Activate
    ActiveSheet.Shapes("Image1").Select
    Selection.Copy
    Sheets("Feuil1").Activate
Range("D3").Select
    ActiveSheet.Paste
    Selection.Name = "Simp" & x
Next

For i = 1 To 1
Sheets("Feuil2").Activate
    ActiveSheet.Shapes("Image2").Select
    Selection.Copy
    Sheets("Feuil1").Activate
Range("D5").Select
    ActiveSheet.Paste
    Selection.Name = "son" & i
Next
    Application.ScreenUpdating = True
End Sub
 
Dernière édition:
Re : Copier et Renommer un contrôle en VBA

Bonsoir Lone-wolf

Justement comme c'est pour les débutants, dis leur bien d'éviter les Select, Activate etc.

Ton code pourrait donc maigrir si on les supprime (ca tombe c'est bien l'été, et partout on parle de régime)

PS: merci en tous cas, pour le partage de savoir 😉
 
Re : Copier et Renommer un contrôle en VBA

Bonsoir Maitre Kjin 😉

EDITION: Merci, Lone-wolf , ton fil de discussion a été l'occasion de me replonger dans les archives.


Pour illustrer mon propos de tout à l'heure
A savoir : éviter les Select, Activate dans ses macros

Voici un exemple
Pour tester:
• Insérer une forme automatique (un rectangle, par exemple) sur la Feuille 2
• lancer la macro ci-dessous:
Le rectangle sera copié et renommé sur la Feuille 1.
VB:
Sub Copier_Shape_SansSelection()
'adapté d'un code de VoG, quand je jouais en 2009, dans le salon d'XLD, avec les Shapes moi aussi ;-)
'(*) = lien vers le fil de discussion en question (pour les lecteurs de Science et Vie)
Dim i As Long, t As Double, l As Double, j As Integer
'1) on copie la Shape de la Feuille 2
With Sheets("Feuil2")
    j = .Shapes.Count
        With .Shapes(j)
            t = .Top: l = .Left: .Copy
        End With
End With
'2) on colle et renomme dans la Feuille 1
With Sheets("Feuil1")
        .Paste
        With .Shapes(.Shapes.Count)
            .Top = t: .Left = l: .Name = "TOTO"
        End With
End With
End Sub

(*)
 
Dernière édition:
Re : Copier et Renommer un contrôle en VBA

Bonjour Stapple, quoi de neuf ??? 🙂

Au faite c'est l'enregistrement de la macro qui m'a donné le code.

En tout cas, merci de me prévenir, je ne voudrais surtout pas de souffrir de boulimie. 😱 😀


A+ 😎
 
Re : Copier et Renommer un contrôle en VBA

Bonjour Lone-Wolf


Je parlais de régime (pour le code VBA) et pour moi, ca c'est sur
(surtout si je veux pouvoir mettre mon bikini cet été)

Généralement, le loup solitaire est svelte, vif et rapide, il a plutôt pas assez de graisse sous la peau.
Il n' a pas besoin de régime, mais c'est vrai que dans son milieu naturel, il ne peut s'empêcher d'utiliser la Selection (ni lui échapper quand elle est naturelle)
Par contre il ne connait pas l'Activate, le loup des bois
Mais le loup d'XLD lui peut éviter la Selection (alors puisqu'il a le choix, qu'il en profite)

(Oui je sais, je digresse mais la nuit, parfois tout en xldant ,je regarde d'un œil torve , "Histoires Naturelles" sur TF1, mais aussi des docus animaliers)
Pour finir, en jetant mon autre oeil sur ton avatar, je t'avouerai que j'y connais rien en manga
(Une prochaine nuit, j'irai me renseigner sur l'univers du Manga)

Tu voulais du neuf à mon sujet ? Ai-je satisfait ta requête ?
 
Dernière édition:
Re : Copier et Renommer un contrôle en VBA

Re Stapple,

comment on écrit le code pour incrémenter plusieures shapes dans la F1
et leurs donner les noms Toto1, Toto2, Toto3, et les positionner en celulles E3: G3: I3 etc.?



A+ 😎
 
Re : Copier et Renommer un contrôle en VBA

Re

Un petit fichier exemple, svp
Pas le temps d'en créer moi-même.
(Faut que j'xldisse tout en épluchant mes patates pour mes frites)
(et tu es assez ancien sur XLD, pour connaitre la charte)

EDITION: en attendant ta PJ

PS
: Si tu avais été voir le fil de discussion dans le salon*, tu aurais des outils pour répondre toi-même à ta question ...

*: J'avais mis un lien exprès pour éveiller ta curiosité dans mon message de 03h22.

🙄




 
Dernière édition:
Re : Copier et Renommer un contrôle en VBA

Un petit fichier exemple, svp.

Désolé, je faisais un autre test sur le même fichier en attendant ta réponse.
J'aimerais que tu sache que, avant de demander de l'aide sur XLD, j'essaie par mes propres moyens et fait des dixaines de recherches sur le net. De loin à être un flèmard, mais impuissant face à VBA.

J'ai copié les shapes avec leurs noms respectifs et leurs positions.



A+ 😎
 

Pièces jointes

Re : Copier et Renommer un contrôle en VBA

Bonsoir


Je n'ai jamais dit que tu étais flemmard

Je te demandais juste (comme à d'autres forumeurs d'ailleurs) de joindre un fichier exemple.

Car j'estime normal que ce soit le demandeur qui fasse l'effort de créer un fichier exemple avant de poster sa question.

Merci donc à toi d'avoir créer un fichier.

Maintenant ton fichier exemple semble être destiné à créer un jeu de dames sous Excel.

Et là c'est plus compliqué, je passe la main.

(D'autant plus qu'il existe déjà dans la section Téléchargement: XL-Damier
Essayes de contacter l'auteur de celui-ci
(car le Projet VBA est protégé)
Il y a un fil dédié à ce jeu ici
 
Re : Copier et Renommer un contrôle en VBA

Bonjour Stapple,

effectivement c'est bien un jeu de Dames.

Comme dans mon fichier exemple, j'ai 40 shapes par défaut,
j'aimerais en avoir juste deux (un Rouge et Un Blanc).

C'est lors de l'ouverture du classeur, que le réstants des pions soient créés et renommés,
et à la fermeture, ils soient supprimés. Ceci, pour alleger le classeur.

Dans le fichier que tu a mis, le code renomme le bouton d'exécution (TOTO)
et non le shape.

Depuis le premier post, j'ai réussi à trouvé un code mais, qui est adapté pour Access.

En ce qui concerne les règles; bizarrement en Italie et au Maroc, il est interdit aux pions de reculer et de manger le pion adversaire ou une Dame.


Damier

A+ 😎
 
Re : Copier et Renommer un contrôle en VBA

Voilà, après plusieurs essais, j'ai réussi à obtenir le résultat voulu.

Maintenant, j'aimerais bien afficher les images une à une avec temporisation,
mais je n'y arrive pas.

Un schti coup de main s.v.p.?
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
758
Réponses
15
Affichages
655
Réponses
5
Affichages
839
Retour