Copie d'un tableau vers nouveau classeur

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

L

Loisel

Guest
Bonjour le forum


Je voudrais pouvoir copier automatiquement le tableau de l'onglet BD (colonnes A à BF) vers un nouveau classeur qui s'appellerait
BD _W.xlsm placé dans un répertoire TEST.

Tout en conservant la mise en forme, les MFC, les formats comme les dates, etc
L'onglet BD est évolutif donc je ne peux pas nommée une zone pré-définie.

Pourriez-vous m'aider à réaliser en VBA ?
 

Pièces jointes

Dernière modification par un modérateur:
Re : Copie d'un tableau vers nouveau classeur

Bonsoir Loisel,

Code:
Sub Exporter()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
MkDir ThisWorkbook.Path & "\TEST" 'création du répertoire
On Error GoTo 0
Sheets("BD").Copy
With ActiveWorkbook.Sheets(1)
  .Columns("BG").Resize(, .Columns.Count - 58).Delete
  .Parent.SaveAs ThisWorkbook.Path & "\TEST\BD_W.xlsm", 52
  .Parent.Close
End With
End Sub
Si l'on veut un fichier .xlsx :

Code:
.Parent.SaveAs ThisWorkbook.Path & "\TEST\BD_W.xlsx", 51
Bonne fin de soirée.
 
Re : Copie d'un tableau vers nouveau classeur

Bonsoir Job75

Merci beaucoup pour votre célérité.
Sans vouloir abuser pourriez-vous me dire pourquoi :

le 52
après la ligne .Parent.SaveAs ThisWorkbook.Path & "\TEST\BD_W.xlsm", 52

ou le 51 pour la ligne de code .Parent.SaveAs ThisWorkbook.Path & "\TEST\BD_W.xlsx", 51


Si le tableau évolue, les lignes créées à la suite du tableau seront-elles également prises en compte ?
Dans l'affirmative, quel est le morceau du code qui le prévoit ?

Je vois que vous prenez le colonne BG pour revenir a contrario de A à BF, c'est cela ?

Merci et bonne fin de soirée également
 
Re : Copie d'un tableau vers nouveau classeur

Bonjour Loisel, le forum,

Aucune difficulté en insérant Format(Date, "ddmmyy").

J'en profite pour montrer 2 manières de lancer la macro :

- fichier (1) avec un bouton

- fichier (2) avec cette macro dans ThisWorkbook :

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sauvegarder
End Sub
La macro elle-même :

Code:
Sub Sauvegarder()
Dim dossier$
dossier = ThisWorkbook.Path & "\TEST\" 'à adapter
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
MkDir dossier 'création du répertoire
On Error GoTo 0
Sheets("BD").Copy
With ActiveSheet
  .DrawingObjects.Delete 'supprime les objets
  .Columns("BG").Resize(, .Columns.Count - 58).Delete
  .Parent.SaveAs dossier & Format(Date, "ddmmyy") & "_BD_W.xlsm", 52
  .Parent.Close
End With
End Sub
Bonne journée.
 

Pièces jointes

Re : Copie d'un tableau vers nouveau classeur

Re,

A la lecture de votre post #7, et en particulier lancer la macro depuis ThisWorkbook , cela me donne une idée ou plutôt deux interrogations.

Comment puis-je lancer la première macro à l'ouverture du fichier
et la seconde à la fermeture de ce même fichier avec ou sans enregistrement du fichier ?

Macro 1
Code:
   Sub plein_ecran()
   With Application
        .DisplayFormulaBar = False
        .ActiveWindow.DisplayHeadings = False
        .ActiveWindow.DisplayGridlines = False 
        .DisplayFullScreen = True
    End With
End Sub

Macro 2
Code:
Sub Retour() 
   With Application
        .DisplayFullScreen = False 
        .ActiveWindow.DisplayHeadings = True
   .ActiveWindow.DisplayGridlines = True 
               .DisplayFormulaBar = True 
    End With
End Sub
 
Re : Copie d'un tableau vers nouveau classeur

Job75,

Je vous l'accorde, c'est assez élémentaire.

C'était surtout pour avoir la confirmation d'un sachant car j'ai un message d'erreur pour Workbook_BeforeClose ;-(

J'en ignore la raison

A savoir : erreur de compilation
La déclaration de la procédure ne correspond pas à la description de l'événement ou de la procedure de même nom.
 
- 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

L
Réponses
1
Affichages
1 K
Ludwig74
L
J
Réponses
11
Affichages
5 K
jahsoldier
J
F
Réponses
10
Affichages
1 K
F
F
Réponses
2
Affichages
1 K
Fabrice13006
F
Retour