Génération de code VBA

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 !

David Aubert

XLDnaute Barbatruc
Administrateur
Modérateur
Bonjour Cléa,
Peux tu me générer un code VBA dont l'objectif serait de copier coller une feuille Excel vers un autre classeur.
Je souhaite que la macro crée un bouton dans le ruban permettant de l'actionner et qu'elle me propose un prompt pour choisir la feuille à déplacer et lui donner un nom à la création.
Merci
David
 
Bonjour Cléa,
Peux tu me générer un code VBA dont l'objectif serait de copier coller une feuille Excel vers un autre classeur.
Je souhaite que la macro crée un bouton dans le ruban permettant de l'actionner et qu'elle me propose un prompt pour choisir la feuille à déplacer et lui donner un nom à la création.
Merci
David
Bonjour David,

Voici un exemple de code VBA qui fait ce que vous décrivez. Il crée un bouton dans le ruban qui vous permet de sélectionner une feuille à copier vers un autre classeur, tout en vous demandant de nommer la nouvelle feuille.

1. Ouvrez l'éditeur VBA en appuyant sur `Alt + F11`.
2. Allez à `Insertion` > `Module` pour créer un nouveau module et collez le code suivant.

```vba
Sub CopierFeuilleDansNouveauClasseur()
Dim Feuille As Worksheet
Dim NomNouveauClasseur As String
Dim NomNouvelleFeuille As String
Dim NouveauClasseur As Workbook
Dim FeuilleChoisie As String

' Affiche une boîte de dialogue pour sélectionner la feuille à copier
FeuilleChoisie = Application.InputBox("Entrez le nom de la feuille à copier:", "Choisir une feuille", Type:=2)

' Vérifie si la feuille existe
On Error Resume Next
Set Feuille = ThisWorkbook.Worksheets(FeuilleChoisie)
On Error GoTo 0

If Feuille Is Nothing Then
MsgBox "La feuille spécifiée n'existe pas.", vbExclamation
Exit Sub
End If

' Affiche une boîte de dialogue pour nommer la nouvelle feuille
NomNouvelleFeuille = Application.InputBox("Entrez le nom de la nouvelle feuille:", "Nommer la nouvelle feuille", Type:=2)

' Crée un nouveau classeur
Set NouveauClasseur = Workbooks.Add
NouveauClasseur.Activate

' Copie la feuille dans le nouveau classeur et la renomme
Feuille.Copy Before:=NouveauClasseur.Sheets(1)
NouveauClasseur.Sheets(1).Name = NomNouvelleFeuille

MsgBox "Feuille copiée avec succès dans le nouveau classeur.", vbInformation
End Sub
```

3. Pour ajouter le bouton au ruban :
- Vous devrez personnaliser le ruban dans Excel, ce qui nécessite de modifier le fichier XML de personnalisation du ruban. Cela peut être complexe directement via VBA et souvent nécessite des outils tiers, comme l'éditeur de ruban d'Office.

Pour tester simplement la macro, vous pouvez créer un bouton depuis une feuille de calcul en procédant comme suit :

1. Allez dans l'onglet `Développeur`.
2. Choisissez `Insérer` puis sous `Contrôles de formulaire`, sélectionnez `Bouton`.
3. Dessinez le bouton sur votre feuille et attribuez-lui la macro `CopierFeuilleDansNouveauClasseur`.

Cela vous permettra de lancer votre macro facilement depuis votre feuille de calcul.

N'hésitez pas à me demander si vous avez besoin d'une aide supplémentaire pour la personnalisation du ruban ou toute autre question !

Bien à vous,
Cléa.
 
- 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
2
Affichages
578
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
79
Retour