VBA La macro renomme mal le fichier Excel sauvegardé
RésoluBubus31 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
- VBA La macro renomme mal le fichier Excel sauvegardé
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Fichier epub - Guide
- Logiciel de sauvegarde gratuit - Guide
10 réponses
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 !
Bonjour,
C'est la feuille?
Windows("Feuille de calcul dans Basis (1)").Activate
"FICHIER TEST MACRO" le nom du classeur
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 "
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
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
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)"...
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.
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
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
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
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.