Bouton commande vba

Résolu/Fermé
kev66 - 26 mai 2014 à 09:40
kev67 Messages postés 5 Date d'inscription lundi 26 mai 2014 Statut Membre Dernière intervention 26 mai 2014 - 26 mai 2014 à 14:21
Bonjour a tous,

Alors voila j'ai un classeur avec des données, des tableaux et des graphiques et je souhaiterai a l'aide d'un bouton de commande copier et coller l'intégralité de mon classeur dans un nouveau classeur. Je suis novice en programmation et je n'arrive pas créer le code nécessaire.
Si quelqu'un veut bien m'aider ??

Merci et bonne journée
A voir également:

12 réponses

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
26 mai 2014 à 10:18
Bonjour,

En fait tu veux dupliquer ton classeur, mais ou veux tu le créer dans le même répertoire ?
Et quel nom veux tu lui donner ?

si tu veux le copier dans un fichier déjà existant, combien d'onglet veux tu copier ?
et es ce que le fichier est dans le même dossier ?

Un code VBA est très strict donc il faut être précis
0
Merci d'avoir répondu si rapidement

Il faudrait dupliquer le classeur existant dans un autre classeur pas encore crée qui s'appellerai "copie" par exemple. Il doit etre a l'identique du premier classeur avec les onglets les données etc
Je ne veux pas copier mon classeur dans un fichier existant mais dans un nouveau fichier
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
26 mai 2014 à 10:37
Re,

Ok ça je l'avais à peu prêt compris, tu veux un bouton pour dupliquer un fichier, dans le code doit on prévoir l'enregistrement du fichier existant pour prendre en compte toute modification de dernière minute ?

Mais tu n'as pas répondu à ma question, le nouveau fichier ou tu veux l'enregistrer dans le même répertoire ?
0
Oui il faut prévoir l'enregistrement du fichier en cas de modification.
Désolé je n'avais pas compris la question, oui le nouveau fichier sera enregistrer dans le même repertoire.
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
26 mai 2014 à 11:11
Re,

Voilà le code à coller dans un répertoire et associer à un bouton

Option Explicit

Dim chemin, nom, Fichier As String
Dim SourceWb As Workbook

Sub Copie_De_Fichier()
Application.DisplayAlerts = False '-------Annulation des alertes
ActiveWorkbook.Save
'---------------------Identification du dossier d'enregistrement
chemin = ActiveWorkbook.Path
'---------------------Nom du nouveau classeur ou cellule contenant le nom et définition de l'extension si différente d'application
nom = "Copie" '& ".xls" ou [B5].Value & ".xls" '--Respecter l'extension du classeur cible
Set SourceWb = ActiveWorkbook
SourceWb.SaveCopyAs Fichier
Application.DisplayAlerts = True '-------rétablissement des alertes
End Sub

0
Merci bcp

Mais quand je clique sur le bouton ca m'enregistre seulement le classeur il n'est pas dupliquer
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
26 mai 2014 à 11:22
Re,

J'ai rajouté une ligne au code

Option Explicit

Dim chemin, nom, Fichier As String
Dim SourceWb As Workbook

Sub Copie_De_Fichier()
Application.DisplayAlerts = False '-------Annulation des alertes
ActiveWorkbook.Save
'---------------------Identification du dossier d'enregistrement
chemin = ActiveWorkbook.Path
'---------------------Nom du nouveau classeur ou cellule contenant le nom et définition de l'extension si différente d'application
nom = "Copie" & ".xls" 'ou [B5].Value & ".xls" '--Respecter l'extension du classeur cible
Set SourceWb = ActiveWorkbook
Fichier = chemin & Application.PathSeparator & nom
SourceWb.SaveCopyAs Fichier
Application.DisplayAlerts = True '-------rétablissement des alertes
End Sub
0
kev67 Messages postés 5 Date d'inscription lundi 26 mai 2014 Statut Membre Dernière intervention 26 mai 2014
26 mai 2014 à 11:39
Super ca marche MERCI
Dernière question : est il possible d'ouvrir la copie directement en cliquant sur le bouton de commande ?
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
26 mai 2014 à 12:40
Re,

voila le code, par contre si le nom de la copie doit changer, il est possible d'écrire une variable avec le nom du nouveau fichier ou aller chercher le nom du fichier à créer dans une cellule

Option Explicit

Dim chemin, nom, Fichier As String
Dim SourceWb As Workbook

Sub Copie_De_Fichier()
Application.DisplayAlerts = False '-------Annulation des alertes
ActiveWorkbook.Save
'---------------------Identification du dossier d'enregistrement
chemin = ActiveWorkbook.Path
'---------------------Nom du nouveau classeur ou cellule contenant le nom et définition de l'extension si différente d'application
nom = "Copie" & ".xls" 'ou [B5].Value & ".xls" '--Respecter l'extension du classeur cible
Set SourceWb = ActiveWorkbook
Fichier = chemin & Application.PathSeparator & nom
SourceWb.SaveCopyAs Fichier
Workbooks.Open Filename:=ThisWorkbook.Path & "\Copie.xls"
Application.DisplayAlerts = True '-------rétablissement des alertes
End Sub
0
kev67 Messages postés 5 Date d'inscription lundi 26 mai 2014 Statut Membre Dernière intervention 26 mai 2014
26 mai 2014 à 13:23
Merci beaucoup et désolé d'avoir pris un peu de ton temps
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
26 mai 2014 à 13:26
Re,

Avec plaisir, si tes attentes sont satisfaites, met le statut de la discussion en résolu ou confirme le moi que je la fasse pour toi
0
kev67 Messages postés 5 Date d'inscription lundi 26 mai 2014 Statut Membre Dernière intervention 26 mai 2014
26 mai 2014 à 14:21
Oui c'est résolu par contre je ne sais pas comment faire, si tu veux bien le faire merci
0