VBA La macro renomme mal le fichier Excel sauvegardé

Résolu/Fermé
Bubus31 Messages postés 54 Date d'inscription samedi 14 décembre 2019 Statut Membre Dernière intervention 7 mai 2024 - Modifié le 12 avril 2023 à 11:43
Bubus31 Messages postés 54 Date d'inscription samedi 14 décembre 2019 Statut Membre Dernière intervention 7 mai 2024 - 14 avril 2023 à 09:38

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

A voir également:

10 réponses

f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711
12 avril 2023 à 11:14

Bonjour,

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

1
Bubus31 Messages postés 54 Date d'inscription samedi 14 décembre 2019 Statut Membre Dernière intervention 7 mai 2024
12 avril 2023 à 14:32

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
f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711
13 avril 2023 à 07:21

Bonjour,

C'est la feuille?

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

"FICHIER TEST MACRO" le nom du classeur

0
Bubus31 Messages postés 54 Date d'inscription samedi 14 décembre 2019 Statut Membre Dernière intervention 7 mai 2024
Modifié le 13 avril 2023 à 08:24

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

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

Posez votre question
f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711
13 avril 2023 à 09:57

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
Bubus31 Messages postés 54 Date d'inscription samedi 14 décembre 2019 Statut Membre Dernière intervention 7 mai 2024
13 avril 2023 à 11:23

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
f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711
13 avril 2023 à 14:57

Re,

Ca se precise!

Quelle feuille dans FICHIER TEST MACRO?

Le regarde la chose

0
f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711 > f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024
13 avril 2023 à 14:59

Suite:

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

0
f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711 > f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024
13 avril 2023 à 15:05

Suite:

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

0
Bubus31 Messages postés 54 Date d'inscription samedi 14 décembre 2019 Statut Membre Dernière intervention 7 mai 2024
13 avril 2023 à 16:24

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
f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711
13 avril 2023 à 17:51

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
f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711
13 avril 2023 à 17:52

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
f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711
13 avril 2023 à 17:53
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
Bubus31 Messages postés 54 Date d'inscription samedi 14 décembre 2019 Statut Membre Dernière intervention 7 mai 2024
13 avril 2023 à 19:01

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
f894009 Messages postés 17217 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 27 décembre 2024 1 711
13 avril 2023 à 20:46

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
Bubus31 Messages postés 54 Date d'inscription samedi 14 décembre 2019 Statut Membre Dernière intervention 7 mai 2024
14 avril 2023 à 09:38

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