Enregistrement et chaines de caractères.

Résolu/Fermé
Aquhydro Messages postés 172 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 26 mai 2020 - Modifié par jordane45 le 7/01/2015 à 13:53
Aquhydro Messages postés 172 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 26 mai 2020 - 7 janv. 2015 à 14:12
Bonjour,
J'essaie de faire un tout petit code pour automatiser une fonction assez basique, mais voilà je bloque :

Je voudrais enregistrer un fichier .txt, que j'ai ouvert sous excel et modifié, en fichier .xlsx avec le même nom que l'original, dans le même dossier. J'ai essayé la chose suivante :
    Sub Macro6()
  Dim Workyname As String
  Workyname = Right(ActiveWorkbook, -4)
  ChDir ActiveWorkbook.Path
   ActiveWorkbook.SaveAs Filename:= _
   "V:\mes_documents\These\Projet_gocad\Data_out\S7\" & Workyname & ".xlsx", _
   FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

 End Sub
     


Qu'est ce qui ne va pas? Pourquoi ça ne marche pas?

Merci beaucoup.


1 réponse

jordane45 Messages postés 37253 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 mars 2023 4 551
7 janv. 2015 à 13:58
Bonjour,

Quand tu lances ton code.... tu as un message d'erreur ... sur la ligne
 Workyname = Right(ActiveWorkbook, -4)


-> Il n'y a pas de signe (-) dans la fonction RIGHT
-> Il faut préciser la propriété NAME de ton activeWorkbook

 Workyname = Right(ActiveWorkbook.Name, 4)


Le mieux pour récupérer le nom d'un classeur étant d'utiliser :
  Workyname = Split(ActiveWorkbook.Name, ".")(0)

0
Aquhydro Messages postés 172 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 26 mai 2020 2
7 janv. 2015 à 14:12
Merci beaucoup!
0