Conversion d'un sheet Excel en CSV vers un dossier pré-choisi

Bonjour,

Je débute le VBA en entreprise et j'ai un problème quant à la sauvegarde d'un seul sheet de mon workbook en .CSV

Voici ma première ébauche de code :

Sub Save()
Dim str As String, strFullname As String, name As String

'Implémentation de variables permettant de donner le nom du chemin en question
name = InputBox("Comment voulez vous nommer votre dossier ? Veuillez ne pas oublier de mettre le .csv à la fin", "Mise en place du nom")
str = "I:\ERP\Projet ABAS\ABAS - VTI\TEST NOMENCLATURE\EXEMPLES\"
strFullname = str + name
MsgBox strFullname

'Fonction permettant de sauvegarder en .CSV le sheet "RDD"

Worksheets("RDD").Copy
Application.DisplayAlerts = False

ActiveWorksheet.SaveAs Filename:=strFullname, FileFormat:=xlCSV
ActiveWorksheet.Close
Application.DisplayAlerts = True

End Sub

Lorsque que je le lance, il me copie bien le sheet en question dans un nouveau classeur sauf que, ce classeur ne comporte pas le nom que je lui ai mis et il n'est pas enregistrer à l'endroit (ni nul part par ailleurs), de plus je reçois le message suivant à l'ouverture :

image

Lorsque que je test avec F8 la fonction entière elle bug à ce niveau là :

ActiveWorksheet.SaveAs Filename:=strFullname, FileFormat:=xlCSV

Et j'obtiens un message d'erreur plus détaillé :

image

Merci d'avance pour vos réponses.

Bonjour, pour commencer, pourquoi demander de mettre .csv alors que vous pouvez trés facilement l'ajouter dans le code ?

Ensuite ajouter des infos en VBA on ne fait pas A + B mais A & B

donc strFullname = str & name

Vous pourriez trés bien écrire avec l'extension sans demander à l'utilisateur :

strFullname = str & name & ".csv"

Pour finir les worksheets sont des workbook. sauf pour la ligne copy

Sub Save()
Dim str As String, strFullname As String, name As String

'Implémentation de variables permettant de donner le nom du chemin en question
name = InputBox("Comment voulez vous nommer votre fichier ?")
str = "I:\ERP\Projet ABAS\ABAS - VTI\TEST NOMENCLATURE\EXEMPLES\"
strFullname = str & name & ".csv"
MsgBox strFullname

'Fonction permettant de sauvegarder en .CSV le sheet "RDD"

Worksheets("RDD").Copy
Application.DisplayAlerts = False

ActiveWorkbook.SaveAs Filename:=strFullname, FileFormat:=xlCSV
ActiveWorkbook.Close
Application.DisplayAlerts = True

End Sub

Merci pour cette réponse,

J'ai modifié ce que vous m'avez dit et le problème est réglé,
Encore merci pour votre temps.

Rechercher des sujets similaires à "conversion sheet csv dossier pre choisi"