Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier / coller suite a un appuis bouton...

  • Initiateur de la discussion Initiateur de la discussion quinze24
  • 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 !

Q

quinze24

Guest
Bonjour à tous,

J'ai besoin de votre aide :

Je souhaite copier un onglet d'un fichier A, créer un nouveau classeur B et coller cette copie sur ce dernier (classeur B). Et tout ça en automatique. Le déclencheur de la commande est un bouton.

Merci

Sur Excel 2007
 
Re : Copier / coller suite a un appuis bouton...

Bonsoir quinze24, et bienvenue,

En principe, une seule ligne suffit à faire la copie, mais il faut être certain que le classeur de destination est bien ouvert :

Code:
Sub CommandButton1_Click()
Sheets("Nom de feuille").Copy Before:=Workbooks("Classeur.xlsm").Sheets(x)
End Sub
Il faut bien sûr remplacer le textes entre guillemets par le nom de la feuille à copier et le nom du classeur cible. Dans cet exemple, la feuille sera copiée en première position dans la barre des onglets. Pour l'insérer devant un feuille quelconque, il suffit de remplacer "x" par le n° de position de la feuille.
Pour copier en dernière position :

Sub CommandButton1_Click()
Sheets("Nom de feuille").Copy After:=Workbooks("Classeur.xlsm").Sheets(Sheets.Count)
End Sub
Cordialement.
 
Re : Copier / coller suite a un appuis bouton...

Super merci!

Et y a t'il un code pour la création et l'ouverture d'un nouveau classeur?

Merci

RE :

Tout simplement comme ceci :

Code:
Sub CommandButton1_Click()
Sheets("Nom de feuille").Copy
End Sub
Cette macro créera automatiquement un nouveau classeur. Ce classeur s'appellera "Classeur1" et ne comportera que la feuille copiée.

Cordialement.
 
Re : Copier / coller suite a un appuis bouton...


Et bien super !
Merci papou-net !
Je test et je ferme si c'est bon.
 
Re : Copier / coller suite a un appuis bouton...

Pardon c'est bon j'avais un petit bout de code pas effacé....
Merci.
Il est possible d'abuser est de demander si après :
Sheets("Nom de feuille").Copy
Je peux rajouter la commande enregistrer sous.( que je ne connais pas )
Car comme ça la personne n'a plus qu'a mettre le nom est valider.

Encore merci
 
Re : Copier / coller suite a un appuis bouton...

RE :

Voici un exemple utilisant la fenêtre "Enregistrer sous" d'Excel :

Code:
Private Sub CommandButton1_Click()
Dim SaveBox As FileDialog
Set SaveBox = Application.FileDialog(msoFileDialogSaveAs)

Sheets("Feuil1").Copy
With SaveBox
  .Show
  .Execute
End With
End Sub
Si tu sélectionnes le mot-clé "FileDialog" et que tu appuies sur F1 tu auras des précisions concernant le paramétrage de la boîte de dialogue. Dans l'exemple ci-dessus, le plus simple qui soit, il te faudra indiquer (ou sélectionner) le répertoire et indiquer le nom du fichier ainsi que son extension.

Cordialement.
 
Re : Copier / coller suite a un appuis bouton...

BON JE L'AI RÉCUPERER...
Y a du boulot car toutes mes cellules sont en vrac mais j'ai les données.
Ca m'apprendra à pas faire de sauvegarde récente...

J'ai pu tester le code et ça marche au poil !!!!
J'ai la possibilité de rajouter la valeur d'une liste déroulante + la date dans le nom du fichier en auto?

Merci papou-net
 
Re : Copier / coller suite a un appuis bouton...

J'ai la possibilité de rajouter la valeur d'une liste déroulante + la date dans le nom du fichier en auto?

Oui, bien sûr !

Le tout est de savoir quel type de liste déroulante tu utilises, et si elle placée sur une feuille ou un formulaire ?

Je reprends le sujet demain, après ta réponse, car pour l'heure je pars au dodo.

Cordialement.
 
Re : Copier / coller suite a un appuis bouton...

Bonjour quinze24,

Voici le code que tu attendais :

Code:
Private Sub CommandButton1_Click()
Dim SaveBox As FileDialog
Set SaveBox = Application.FileDialog(msoFileDialogSaveAs)

'Sheets("Feuil1").Copy
With SaveBox
  .Title = "Enregistrer sous..."
  .AllowMultiSelect = False
  .InitialFileName = ComboBox1 & TextBox1 & Date & ComboBox2
  .Show
'  .Execute
End With
End Sub
Pour te permettre de le tester, je te joins un fichier exemple avec un UserForm s'ouvrant sur un clic du bouton Démo. Pour éviter des enregistrements inutiles durant les tests, j'ai mis la ligne de copie et celle d'exécution en commentaires.

Bonne journée.

Cordialement.

NB : tant qu'une des zones à renseigner est vide, le bouton Enregistrer est désactivé. Ca permet d'éviter un plantage du code s'il manque un élément dans le chemin du fichier.
 

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…