VBA La macro renomme mal le fichier Excel sauvegardé

Résolu
Bubus31 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   -  
Bubus31 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour, 

j'utilise un macro qui sauvegarde et renomme une feuille Excel (suite à une extraction de données SAP) vers des documents.

Pour renommer le fichier, je lui demande d'avoir une base "Bonjour à vous" et d'ajouter deux autres données en allant chercher dans 2 cellules différentes qui sont C3 et D3.

Le problème c'est que le système ne renomme pas le fichier avec les valeurs qui sont inscrites dans les cellules.

Voici comment le fichier apparaît dans les documents: "Bonjour à vous4913481344      !! " alors qu'il devrait y avoir "Bonjour à vous 565 LS09" 

Ci dessous mon code : 

Windows("Feuille de calcul dans Basis (1)").Activate
    ChDir _
        "P:\PROGRAMMES\-------------------------------------\COOIS"
    ActiveWorkbook.SaveAs FileName:= _
        "P:\PROGRAMMES\-------------------------------------\COOIS\" & "Bonjour à vous" & Range("C3").Value & " " & Range("D3").Value & ".xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

Est ce que vous voyez un soucis ou une amélioration à apporter afin que je puisse avoir les bonnes infos ? 

Merci à vous, 

Bubus31

10 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    Etes vous sur que la feuille de ces infos est active?

    1
  2. Bubus31 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
     

    Oui bien vu f894009 ! La macro renomme avec les cellules du fichier extrait et non le fichier sur lequel je lance la macro.

    Mon fichier sur lequel il y a les bonnes données s'appelle "FICHIER TEST MACRO", à quel niveau du code dois je mentionner de récupérer la cellule C3 et D3 dans le fichier "FICHIER TEST MACRO" ? 

    Merci ! 

    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    C'est la feuille?

    Windows("Feuille de calcul dans Basis (1)").Activate

    "FICHIER TEST MACRO" le nom du classeur

    0
  4. Bubus31 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
     

    Bonjour, 

     
    "Feuille de calcul dans Basis (1)"  --> c'est la feuille extraite que je souhaite enregistrer dans le chemin 
     
    "P:\PROGRAMMES\-------------------------------------\COOIS"

    Sous le nom : "Bonjour à vous + ma cellule C3 du fichier FICHIER TEST MACRO + ma cellule D3 du fichier FICHIER TEST MACRO "

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    A tester, chez moi c'est bon, mais ai je vaiment le meme contexte!

    Sub test()
        ChDir "P:\PROGRAMMES\-------------------------------------\COOIS"
        Workbooks("Fichier test macro.xlsx").Activate
            With Worksheets("Feuille de calcul dans Basis (1)")
                ActiveWorkbook.SaveAs Filename:= _
                                                "P:\PROGRAMMES\-------------------------------------\COOIS\" & _
                                                "Bonjour à vous" & .Range("C3").Value & " " & .Range("D3").Value & ".xlsx" _
                                                , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        End With
    End Sub
    

    Vous avez quoi comme Office, chez moi, le nom de feuille est trop long pour Excel 2013

    0
  7. Bubus31 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
     

    Je lance la macro depuis le fichier Excel qui s'appelle "FICHIER TEST MACRO", ensuite ca va dans SAP pour extraire des données.

    Il en ressort le fichier (non pas la feuille je me suis trompé) "Feuille de calcul dans Basis (1)"

    Je souhaite enregistrer le fichier "Feuille de calcul dans Basis (1)" dans le chemin vers les dossier mentionné dans le code en le renommant avec "Bonjour à vous + Cellule C3 + Cellule D3" qui sont dans le fichier "FICHIER TEST MACRO". Car actuellement comme vous me l'avez fait remarquer, il va prendre les valeurs de D3 et C3 mais dans le fichier qui s'appelle "Feuille de calcul dans Basis (1)"...

    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       

      Re,

      Ca se precise!

      Quelle feuille dans FICHIER TEST MACRO?

      Le regarde la chose

      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         

        Suite:

        Le fichier SAP a quoi comme extention, TXT ou.....?

        0
      2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         

        Suite:

        Quelle doit etre l'extention du fichier renomme, la meme?

        0
  8. Bubus31 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
     

    Oui il faut que je fasse attention à l'emploi des mots...

    La feuille où les cellules D3 et C3 se trouvent s'appelle "Test".

    Au niveau des extensions c'est .XLSX c'est toujours des fichiers Excel à la fois pour l'extract SAP et pour l'enregistrement.

    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       

      Re,

      Sub test_rename()
          ChDir "P:\PROGRAMMES\-------------------------------------\COOIS"
          With Worksheets("Test")
              Name "P:\PROGRAMMES\-------------------------------------\COOIS\Feuille de calcul dans Basis (1).xlsx" As _
                      "P:\PROGRAMMES\-------------------------------------\COOIS\Bonjour à vous" & .Range("C3").Value & " " & .Range("D3").Value & ".xlsx"
          End With
      End Sub
      
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       

      Re,

      Sub test_rename()
          ChDir "P:\PROGRAMMES\-------------------------------------\COOIS"
          With Worksheets("Test")
              Name "P:\PROGRAMMES\-------------------------------------\COOIS\Feuille de calcul dans Basis (1).xlsx" As _
                      "P:\PROGRAMMES\-------------------------------------\COOIS\Bonjour à vous" & .Range("C3").Value & " " & .Range("D3").Value & ".xlsx"
          End With
      End Sub
      
      0
  9. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Sub test_rename()
        ChDir "P:\PROGRAMMES\-------------------------------------\COOIS"
        With Worksheets("Test")
            Name "P:\PROGRAMMES\-------------------------------------\COOIS\Feuille de calcul dans Basis (1).xlsx" As _
                    "P:\PROGRAMMES\-------------------------------------\COOIS\Bonjour à vous" & .Range("C3").Value & " " & .Range("D3").Value & ".xlsx"
        End With
    End Sub
    
    0
  10. Bubus31 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
     

    Il y a un code d'erreur n°9 "L'indice n'appartient pas à la sélection"

    Pourtant la feuille dans laquelle il y a les données à faire remonter (C3 et D3) pour renommer le fichier extrait de SAP "Feuille de calcul dans basis (1) s'appelle bien "Test"

    Est ce qu'il ne faudrait pas faire référence au fichier "Fichier test macro" puis la feuille "Test" pour lui dire de récupérer les valeurs en C3 et D4 ?

    Le débogage m'indique la ligne With Worksheet ("Test")

    Merci encore.

    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       

      Vu que le code que vous lancez est dans le classeur fichier test macro, pas besoins d'y faire référence

      La feuille Test a bien exactement ce nom?

      Faites un copier/coller du nom de la feuille dans le code la où il y a le with worksheets

      0
  11. Bubus31 Messages postés 57 Date d'inscription   Statut Membre Dernière intervention  
     

    C'est bon j'avais un espace en trop dans le nom de la feuille, merci beaucoup pour votre aide, c'est top !

    A très vite !

    Bubus31

    0