[VBA] - Exporter une feuille en fin de macro

Bonjour,

En fin de macro, j'exécute un code pour exporter le contenu d'une variable tableau (que je colle avant dans une feuille). L'export doit se faire en .csv pour le moment.

Le résultat que j'obtiens n'est pas bon car mon projet actuel se retrouve renommé puis enregistré en csv tandis que la feuille qui a été copiée est nommée "classeur" et elle n'est pas enregistrée...

Voici le code en question :

Sub ExporterBDD()
Dim sChemin$, Destination$
'Call opt_act
Destination = ThisWorkbook.Path & "\Bases de données\"
  With Sheets("BDD_SAISIE_FLORE")
    .Copy
    .SaveAs Filename:="BDD_SAISIE_FLORE_" & Year(Now) & "_" & Month(Now) & "_" & Day(Now) & "_" & Minute(Now), FileFormat:=xlCSV
    .Close
  End With
'Call opt_fin
End Sub
Un petit fichier qui illustre plus ou moins mon soucis.
En l'occurrence, il y a une erreur d'exécution car dans mon exemple, l'onglet qui est copié contient une macro qui génère une erreur lors de la copie. (Si au cas où vous savez comment ne pas copier le code, sans passer par une boucle pour l'effacer, ça peut m'intéresser).

Autre petite question : Plutôt que de copier le contenu de ma variable tableau dans une feuille, puis-je directement exporter cette variable tableau dans un nouveau document ? Ce serait encore mieux !

Merci de votre attention
Bonne journée !
29code-export.xlsm (61.76 Ko)

BOnjour,

Personnellement j'aurai codé la macro dans un module .. pas dans le userform.

Pour le "with" il est placé sur la feuille à copier ... il devrait être placé sur le nouveau classeur. ( donc le classeur actif aprés copy )

Sub ExporterBDD()

Dim Destination As String

Destination = ThisWorkbook.Path & "\Bases de données\"

Worksheets("BDD_SAISIE_FLORE").Copy
With ActiveWorkbook
    .SaveAs Filename:=Destination & "BDD_SAISIE_FLORE_" & Year(Now) & "_" & Month(Now) & "_" & Day(Now) & "_" & Minute(Now) & ".csv", FileFormat:=xlCSV

    .Close SaveChanges:=False
End With

End Sub
104code-export.xlsm (67.09 Ko)

Bonjour,

Merci de votre réponse.

En effet, la macro se trouve bien dans un module, mais pour l'exemple je suis allé au plus simple. Je l'ai d'ailleurs placée dans l'UF, mais pas dans le bouton pour sous-entendre qu'elle ne s'y trouve pas.

Merci beaucoup pour la macro que vous proposez, elle fonctionne bien et fait ce que j'espérais !

Bonne journée !

Rechercher des sujets similaires à "vba exporter feuille fin macro"