Ouverture et enregistrement d'un fichier xls

yanngolf Messages postés 3 Date d'inscription jeudi 27 avril 2006 Statut Membre Dernière intervention 19 juillet 2010 - 29 mars 2010 à 14:15
daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010 - 30 mars 2010 à 15:39
Bonjour tout le monde,

Je ne connais pas du tout VBA, c'est pour ca que je fait appel à vous.

En résumé, Voila ma mission :
Je dois réaliser un script qui permet d'ouvrir un classeur XLS et de le sauvegarder en CSV dans un répertoire.


Explication :
Le Lorsqu'on ouvre le classeur xls classeur1.xls, il va rechercher des informations dans d'autres classeurs.
Le fichier ne contient qu'une seule page.
Il faut ensuite enregistrer le classeur1.xls sous le format csv pour l'importer dans un site Web.



Scénario :
Je cherche donc à réaliser un code qui :
- Ouvre un classeur XLS qui lui va rechercher des documents dans d'autres classeurs.
- Puis enregistre ou écrase le classeur sous le format CSV dans le répertoire c:/travail/mes_classeurs_csv/.

Ce script sera donc lancé en tâche plannifiée sous windows pour que cela s'effectue chaque soir.

Questions :
- Est-ce possible ?
- Est-ce compliqué pour un débutant ?
- Je peux trouver des script rapidement ?

Merci d'avance pour votre aide ! Je dois fournir un retour mais la je suis un peur perdu

1 réponse

daffy17 Messages postés 106 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 22 avril 2010
30 mars 2010 à 15:39
Bonjour yanngolf,

- Oui cela est possible.
- Pour un débutant, tout dépend du niveau du débutant.
- Oui sur ce forum je pense que tu pourras trouver beaucoup de script utile.
Je n'ai pas recherché spécialement pour toi, mais j'ai développé une application qui allait rechercher tous les fichiers excel qui m'intéressait dans un répertoire et qui les ouvraient uns par uns.

Tu auras besoin dans un premier temps de la fonction "Open", puis "SaveAs" pour ouvrir ton classeur et l'enregistrer en format CSV.
Sub convertirXLSenCSV(urlFichierExcel As String)
    Dim classeurAOuvrir As Workbook
    
    'Ouvre le classeur Excel
    Set classeurAOuvrir =  Workbooks.Open(urlFichierExcel)
    'Enregistre le classeur au format CSV
    classeurAOuvrir.SaveAs ThisWorkbook.Name, xlCSV
    'Ferme le classeur
    classeurAOuvrir.Close
End Sub


Tu peux ajouter un bouton parcourir sur la feuille excel qui ira chercher le chemin du fichier et le reportera dans la cellule "A1" (à modifier à ta guise).
Fonction du bouton " Parcourir "
Public Sub ouvrirFichier()
    Range("A1").Value  = Application.GetOpenFilename("Excel (*.xls),*.xls")
End Sub


Tu n'auras plus qu'as créer une dernière macro sur un bouton "Convertir".
Fonction du bouton "Convertir"
Public Sub btConvertirClick()
    convertirXLSenCSV Range("A1").Value
End Sub


Voila je crois que tu as tout ce qu'il te faut.
Rejoignez-nous