Enregistrer sous au format csv dans une macro

Bonjour,

Voici ma macro qui récupère des données dans un ficher excel, la macro actuelle fait un "enregistrer" dans c:\user\mes documents par contre je voudrais que la macro fasse un "enregistrer sous" et que je puisse donner un nom différent et choisir un emplacement d'enregistrement différent !

Est-ce que quelqu'un aurait une idée, ça m'aiderait beaucoup ?

Merci pour votre aide.

Sub CSV()

Dim Tablot, iR%, i%, Tmp$, Sep$

With Sheets("SAISIECOGNARD") 'On travaille directement sur la feuille export

Sep = ";"

iR = .Range("A65000").End(xlUp).Row 'Détermine la dernière ligne

Tablot = .Range("A1:AP" & iR) 'Mémorise le tout dans un tableau

Open "COGNARD.csv" For Output As #1

For i = 1 To iR

If Tablot(i, 40) <> "" Then 'Recopie uniquement les lignes du tableau <> ""

Tmp = ""

For k = 1 To 40

Tmp = Tmp & CStr(Tablot(i, k)) & Sep

Next

Print #1, Tmp

End If

Next

Close #1

End With

MsgBox "COGNARD.csv > OK !", vbInformation + vbOKOnly, "EXPORT DONNEES COGNARD"

End Sub

steph42300Utilisateur occasionnel

Messages: 16Inscription: 07 Nov 2012, 17:16Version Excel: 2010 FR

bonjour

suggestion :

utiliser l'enregistreur de macro pour avoir un code qui fasse "enregistrer sous", donc qui ouvre la fenêtre de dialogue qui te demande l'emplacement et le nom.

ce code tu le copies à la fin de ta macro d'import

Bonjour à tous,

Je me permets de rouvrir ce topic plutôt que d'en créer un spécifique à ma difficulté qui je pense est assez proche de la problématique précédente.

Voilà l'histoire :

J'ai besoin de créer une macro qui exécute les commandes suivantes :

Principe de base : ouverture d'un fichier excel.

Début de macro :

1. Supprimer les colonnes E à H de mon tableau dans leur intégralité (jusqu'ici ça va...)

2. une fois cette modif effectuée, il convient de faire un "Enregistrer Sous" du tableau excel au format csv (séparateur ";" )

3. Le fichier csv doit :

  • avoir le meme nom que le fichier excel d'origine (sauf l'extension qui change et qui devient csv)
  • être enregistré dans le même répertoire que le fichier excel d'origine
4. Si la macro peut faire en sorte également de me fermer le fichier excel csv en "by-passant" les différentes fenêtres d'excel qui s'affichent lorsque je veux fermer le document ce serait top. Sinon pas grave je fermerai le fichier manuellement.

D'après ce que j'ai lu il semblerait que si on enregistre la macro via excel le csv sera bien en champs délimité par un ; alors que si on la programme, le séparateur devient la "," et j'ai absolument besoin que le séparateur soit le ;

Voilà voilà et merci à ceux qui auront pris le temps de me lire jusque là.

Thierry

Rechercher des sujets similaires à "enregistrer format csv macro"