none
Renommer un fichier Excel RRS feed

  • Question

  • Bonjour,

    J'ai un code qui me créer un fichier .XLS.

    Mais aucun moyen de le renommer, la propriété .name étant ReadOnly.

    Si quelqu'un a une idée pour renommer :)

    Voici mon code !

     'Definition d'Excel
        Dim appli As New Excel.Application
        Dim workexcel As Excel.Workbook
        Dim sheetexcel As Excel.Worksheet
        Sub Ecriture()
            'Configuration des chemins de sauvegarde
            Dim cheminfichier As String = A_Module_Enregistrement.CheminSauvegarde + "\"
            Dim cheminacces As String = String.Empty
            'Creation du fichier de sauvegarde
            workexcel = appli.Workbooks.Add
            sheetexcel = workexcel.ActiveSheet
            'Configuration des données
            Dim Nom_Essai = TextBox1.Text
            Dim Liste1 = A_Module_Principal.Un_Essai(Nom_Essai)
            'Récuperation des cles
            Dim cle As New List(Of String)
            For Each element In Liste1
                cle.Add(element.Key)
            Next
            'Mise en place de l'écriture
            Dim nb = 0
            For i = 0 To cle.Count - 1
                Dim varia = Liste1(cle(i))
                nb += 1
                'Je réécris
                For Each element In varia
                    sheetexcel.Cells(1, nb) = cle(i)
                    For r = 0 To varia.Count - 1
                        sheetexcel.Cells(r + 2, nb).value = varia(r)
                    Next
                Next
            Next
               'Sauvegarde des Fichiers Excel
            cheminacces = String.Format("{0}{1}", cheminfichier, ("modifie_" + workexcel.Name + ".xls"))
            workexcel.SaveAs(cheminacces)
            'Fermer les fichiers Excels
            workexcel.Close()
            appli.Quit()
        End Sub


    • Modifié Tom57000 mercredi 18 juin 2014 11:58
    mercredi 18 juin 2014 11:57

Réponses

  • OK,

    Donc tout ce qui doit être fait est fait.

    Pour spécifier le nom du fichier excel il faut faire appel à :

    workexcel.SaveAs("C:\\Chemin\\FichierSortie.xls")
    Cordialement,


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.


    lundi 23 juin 2014 12:11

Toutes les réponses

  • Bonjour,

    Pour renommer un fichier, il faut le déplacer en utilisant la fonction File.Move.

    Plus d'infos sur : http://msdn.microsoft.com/fr-fr/library/system.io.file.move(v=vs.110).aspx

    Cordialement,


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    mercredi 18 juin 2014 12:14
  • Bonjour !

    J'ai mal poser ma question, ce n'est pas renomer un fichier que j'ai besoin

    Avec mon code ci-dessus, je créé un fichier excel, et je n'arrive pas l'enregistrer sous le nom que je veux

    mercredi 18 juin 2014 12:29
  • Bonjour,

    Avez-vous un message d'erreur au moment de l'appel à SaveAs ?


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    mercredi 18 juin 2014 12:44
  • Je n'ai aucune erreur de code.

    A la derniere tentative, en mettan appli.name

    il me mettait comme fichier : "Microsoft_Excel.xls"

    mercredi 18 juin 2014 12:52
  • Bonjour,

    Si vous mettez en dur le chemin du fichier. Celui-ci est-il bien enregistré ?


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    mercredi 18 juin 2014 12:57
  • Bonjour,

    Avant de mettre le chemin en version "choix utilisateur" il était effectivement codé en dur. ça ne change rien de ce coté :x

    mercredi 18 juin 2014 13:01
  • Et le fichier était-il créé ?


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    mercredi 18 juin 2014 13:03
  • Bien sur ! Il est reconnu comme étant un fichier excel, il s'ouvre sans problème etc etc. et tout est dedans comme je le demande, c'est juste le nom du fichier qui est pas bon

    mercredi 18 juin 2014 13:14
  • Entendu,

    Donc si je comprend bien ce qui vous gène est que la propriété workexcel.Name reste à l'ancienne valeur même après l'appel à SaveAs ?

    Cordialement,


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    mercredi 18 juin 2014 13:27
  • Effectivement, j'aimerai bien avoir une methode pour changer workexcel.name ou un autre truc. du moment que si je veux que le nom de mon fichier a enregister soit Coucou.xls par exemple

    Mais le truc c'est que workexcel.name est non modifiable on dirait ... ( ReadOnly)

    mercredi 18 juin 2014 13:36
  • Effectivement la propriété Name est ReadOnly.

    Avez vous tenté de recharger le workExcel après avoir fait l'appel à SaveAs, à partir du fichier qui viens d'être créé ?

    Cordialement,


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    mercredi 18 juin 2014 13:48
  •  COmment ça de recharger le fichier ?
    jeudi 19 juin 2014 07:12
  • Bonjour,

    Quelle librairie utilisez vous pour lire et écrire le fichier Excel ?


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    jeudi 19 juin 2014 08:45
  • J'utilise ceci :

    ' Pour l'utilisation d'Excel
    Imports Microsoft.Office.Interop

    jeudi 19 juin 2014 09:21
  • OK,

    Ajoutez à la fin de votre code (juste après le SaveAs) ceci :

    workexcel = appli.Open(cheminacces)

    En debug, vous verrez que la propriété Name sera alors égale au nom du fichier qui viens d'être enregistré.

    Cordialement,



    jeudi 19 juin 2014 09:30
  • Mais je peux pas choisir le nom d'enregistrement du fichier alors ?
    jeudi 19 juin 2014 09:38
  • Lorsque vous appelez la méthode SaveAs, c'est à ce moment où vous devez spécifier le nom d'enregistrement du fichier.


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    jeudi 19 juin 2014 10:05
  • Ce que vous me proposer ne marche pas ...

    erreur : Le membre public 'Open' du type 'ApplicationClass' est introuvable.

    jeudi 19 juin 2014 11:12
  • Au temps pour moi,

    il s'agissait de appli.Workbooks.Open(cheminacces)


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    jeudi 19 juin 2014 11:31
  • Maintenant il me dis qu'il ne peut pas acceder au fichier et bloque sur la ligne

      workexcel.SaveAs(cheminacces)

    Mais il crée quand meme le fichier ...

    jeudi 19 juin 2014 12:35
  • Pouvez-vous nous donner les messages d'erreur exactes S.V.P ?

    Est-ce que c'est quelquechose qui était présent avant ?

    Avez-vous fait d'autres modifications par rapport au code que vous aviez posté ?


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    jeudi 19 juin 2014 12:40
  • Bonjour,

    Alors, l'erreur je ne l'ai plus, je ne sais pas ce que j'avais fait, donc on peut oublier,

    Je n'ai rien changer au niveau de mon code :)

    vendredi 20 juin 2014 08:24
  • Bonsoir, 

    Est-ce que tout fonctionne donc ?


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    vendredi 20 juin 2014 20:06
  • Bonjour,

    Je ne peut toujours pas modifier le nom du fichier

    lundi 23 juin 2014 07:23
  • Bonjour,

    Pouvez-vous nous redonner votre code actuelle et nous expliquer en quoi les solutions proposées ne correspondent pas a ce que vous attendez s.v.p ?


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    lundi 23 juin 2014 08:30
  • Le code n'a pas bougé depuis que je l'ai mis au départ.

    Les solutions ne correspondent pas car je dois d'abord donner le nom au fichier, puis l'enregistrer dans le dossier de mon choix et qu'il porte le nom voulu, et pas "Microsoft Excel".

    En espérant avoir été clair

    lundi 23 juin 2014 09:06
  • Bonjour, vous me dites que lorsque vous spécifiez le nom de fichier en dur cela crée bien le fichier avec le nom voulu. Mais que ca ne répond pas a votre besoin.

    De ce que je comprend, vous tenez a utiliser la propriété Name du workbook pour spécifier le nom du fichier à écrire lors de l'appel a SaveAs.

    Or la propriété Name est readonly. Sur msdn il est précisé que pour le modifier il faut fair l'appel a SaveAs justement.

    http://msdn.microsoft.com/fr-fr/library/microsoft.office.interop.excel.workbook(v=office.11).aspx

    Je penses que vous avez mal compris cette subtilité et que donc il ne faut pas que vous vous basiez sur le nom du workbook pour spécifier le nom du fichier mais bien l'inverse.

    Cordialement,


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.

    lundi 23 juin 2014 10:26
  • Bonjour,

    je ne tiens pas a utiliser tel ou tel méthode, je voudrais juste une technique pour qu'au final, j'arrive avoir le nom de fichier voulu ...

    lundi 23 juin 2014 11:21
  • OK,

    Donc tout ce qui doit être fait est fait.

    Pour spécifier le nom du fichier excel il faut faire appel à :

    workexcel.SaveAs("C:\\Chemin\\FichierSortie.xls")
    Cordialement,


    Kevin BEAUGRAND, Modis FRANCE
    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.


    lundi 23 juin 2014 12:11
  • merci bien,

    Je vais prendre cette solution :)

    mercredi 25 juin 2014 10:04