Bonjour à vous,
J'ai un petit problème avec une macro que j'essaye de faire en VB (macro simple via Excel 2010).
Pour expliquer le fonctionnement global :
- J'ai un premier onglet (une 40aine de lignes et 16 ou 17 colonnes) qui est rempli par des utilisateurs à travers le monde (via des listes de données pour éviter les saisies rocambolesques...)
- Un deuxième onglet avec mes boutons de divers validations
- 2 onglets d'import de référentiels pour des contrôles en local de saisie de données
- Un onglet (je vais l’appeler onglet csv) qui nous intéresse bien plus qui est en partie une recopie du premier onglet (pour les valeurs n'ayant pas besoins d'être retouchées) et pour le reste des transformations de valeurs présentes en feuille 1 pour matcher avec les valeurs attendues par les gens qui vont utiliser ces données pour exploitations plus tard (le fichier csv est envoyé dans une DB)
J'ai donc une macro assez simple qui enregistre mon onglet csv justement au format CSV DOS afin d'avoir des points virgules.
Code :
- rivate Sub Workbook_Open()
- ThisWorkbook.RefreshAll
- Calculate
- Sheets("SP_csv" ).Select
- ChDir "C:\Users\*****\Desktop"
- ActiveWorkbook.SaveAs Filename:= _
- "C:\Users\*****\Desktop\*************.csv", _
- FileFormat:=xlCSVMSDOS, CreateBackup:=False
|
Je choisis le CSV DOS car quand je faisais mes tests par le passée, quand j'enregistrais mes feuilles en csv standard, j'avais ce format là :
Code :
- titre_document;;;;;
- 0;0;0;0;0;0;0;0;0;0;0
- 0;0;0;0;0;0;0;0;0;0;0
- 0;0;0;0;0;0;0;0;0;0;0
- ;;;;;;;;;
- ;;;;;;;;;
- ;;;;;;;;;
- ;;;;;;;;;
|
J'ai donc des lignes qui sont créées en trop sans valeurs (car mon onglet csv est initialement remplit de formules de recopie et de transformations de données, et je pense donc que le passage en csv estime que les colonnes étant remplies par des formules ne sont pas vides, or elles sont "vides" de données....)
Je voudrais donc que l'enregistrement en csv de la feuille onglet csv sorte un résultat comme ça :
Code :
- titre_document;;;;;
- 0;0;0;0;0;0;0;0;0;0;0
- 0;0;0;0;0;0;0;0;0;0;0
- 0;0;0;0;0;0;0;0;0;0;0
|
A vrai dire, je suis vraiment bloqué pour ce truc.
Une chose étonnante aussi, les lignes en "trop" dans le csv (les lignes composées uniquement de ;;;;;; disparaissent quand j'enregistre le fichier csv en csvDOS.
En espérant trouver des gens qui sauront me répondre,