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
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