Bouton commande vba
Résolu
kev66
-
kev67 Messages postés 5 Statut Membre -
kev67 Messages postés 5 Statut Membre -
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
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
12 réponses
-
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
-
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 -
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 ?
-
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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
-
Merci bcp
Mais quand je clique sur le bouton ca m'enregistre seulement le classeur il n'est pas dupliquer -
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
-
Super ca marche MERCI
Dernière question : est il possible d'ouvrir la copie directement en cliquant sur le bouton de commande ? -
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
-
-
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
-
Oui c'est résolu par contre je ne sais pas comment faire, si tu veux bien le faire merci