Microsoft 365 Enregistrer copie d'un fichier avec pour nom le contenu d'une cellule excel (macro)

Alstroemeria

XLDnaute Nouveau
Bonjour,
j'ai dans la cellule H3 un mot
j'aimerais lorsque j'appuie sur un bouton déclenchant une macro, que mon fichier excel enregistre une copie de ce fichier avec pour nom le contenu de cette cellule H3.

Cependant Excel identifie le contenu de cette cellule comme étant vide

Ma macro :
Dim nomFichier As String
nomFichier = Trim(Range("H3").Value)
If nomFichier = "" Then
nomFichier = "DefaultName"
End If
ActiveWorkbook.SaveCopyAs Filename:="L:\Cooperation\Travaux Sur Programmes\2024\Requetes G07\" & nomFichier & ".xlsm"

lorsque je fais ça, mon fichier est crée et nommé DefaultName bien que la cellule H3 possède du texte. Ce code prouve qu'excel voit cette cellule comme vide mais dans l'idéal j'aimerais un code plus simple qui ne prenne même pas en compte la possibilité que H3 soit vide. Du genre :

Dim nomFichier As String
nomFichier = Range("H3").Value
ActiveWorkbook.SaveCopyAs Filename:="L:\Cooperation\Travaux Sur Programmes\2024\Requetes G07\" & nomFichier & ".xlsm"

Mais avec ce code, excel me crée la copie avec comme nom ".Xlsm"

et si je fais le code suivant d'une seule ligne :
ActiveWorkbook.SaveCopyAs Filename:="L:\Cooperation\Travaux Sur Programmes\2024\Requetes G07\nomFichier.xlsm"

excel crée la copie avec comme nom ''nomFichier" mais ce n'est pas ce que je veux.

Je ne vois pas quoi faire

Infos supp :
initialement dans ma cellule, j'avais une formule qui me renvoyait du texte mais je me suis dit que le problème venait peut être de la formule donc j'ai écris du texte directement dedans. un seul mot sans caractère spécial ni espace (exemple : Oui) mais ça marche pas quand même
 
Solution
mais autrement, tu ne vois pas la raison pour laquelle je ne peux pas faire les 2 macro en 1 seule ? ou sinon, un moyen pour lancer la 2eme macro automatiquement dès que la 1ere se termine ? 🤔
Tu peux faire une macro qui appelle tes deux macros l'une après l'autre.


oui je peux toujours mettre la ligne de code m'affichant la feuille TCD Pilote dans la 2ème macro plutôt que la première
Ca ne changera rien.
Mais tu peux, comme je le disais plus haut, spécifier quelle feuille utiliser dans ta deuxième macro.

firecarl

XLDnaute Nouveau
Bonjour,
j'ai dans la cellule H3 un mot
j'aimerais lorsque j'appuie sur un bouton déclenchant une macro, que mon fichier excel enregistre une copie de ce fichier avec pour nom le contenu de cette cellule H3.

Cependant Excel identifie le contenu de cette cellule comme étant vide

Ma macro :
Dim nomFichier As String
nomFichier = Trim(Range("H3").Value)
If nomFichier = "" Then
nomFichier = "DefaultName"
End If
ActiveWorkbook.SaveCopyAs Filename:="L:\Cooperation\Travaux Sur Programmes\2024\Requetes G07\" & nomFichier & ".xlsm"

lorsque je fais ça, mon fichier est crée et nommé DefaultName bien que la cellule H3 possède du texte. Ce code prouve qu'excel voit cette cellule comme vide mais dans l'idéal j'aimerais un code plus simple qui ne prenne même pas en compte la possibilité que H3 soit vide. Du genre :

Dim nomFichier As String
nomFichier = Range("H3").Value
ActiveWorkbook.SaveCopyAs Filename:="L:\Cooperation\Travaux Sur Programmes\2024\Requetes G07\" & nomFichier & ".xlsm"

Mais avec ce code, excel me crée la copie avec comme nom ".Xlsm"

et si je fais le code suivant d'une seule ligne :
ActiveWorkbook.SaveCopyAs Filename:="L:\Cooperation\Travaux Sur Programmes\2024\Requetes G07\nomFichier.xlsm"

excel crée la copie avec comme nom ''nomFichier" mais ce n'est pas ce que je veux.

Je ne vois pas quoi faire

Infos supp :
initialement dans ma cellule, j'avais une formule qui me renvoyait du texte mais je me suis dit que le problème venait peut être de la formule donc j'ai écris du texte directement dedans. un seul mot sans caractère spécial ni espace (exemple : Oui) mais ça marche pas quand même
bonjour essaye ceci:

' Vérifier que la cellule H3 contient une valeur
If Range("H3").Value = "" Then
MsgBox "La cellule H3 est vide. Veuillez entrer un nom de fichier."
Exit Sub
End If

' Obtenir le nom de fichier à partir de la cellule H3
nomFichier = Range("F12").Value & ".pdf"
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 332
Membres
111 103
dernier inscrit
Maxime@mar