Création d'un nom de classeur à partir du contenu d'une cellule excel [Résolu]

Messages postés
21
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
1 avril 2009
- - Dernière réponse : Saratum
Messages postés
21
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
1 avril 2009
- 24 mars 2009 à 14:20
Est ce possible de faire la sauvegarde d'un document en créant un nouveau fichier en lui attitrant le contenu d'une variable ou d'une cellule excel comme titre?

Sub sauvegarde()
'
' sauvegarde Macro
'

'
    Dim titre As String
    titre = Range("A3").Value
    ChDir "C:\Documents and Settings\Pat\Desktop\tests"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\Pat\Desktop\tests\????????.xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
3
Merci
bonjour

Sub sauvegarde()
'
' sauvegarde Macro
'

'
    Dim titre As String
    titre = Range("A3").Value
    ChDir "C:\Documents and Settings\Pat\Desktop\tests"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\Pat\Desktop\tests" & titre & ".xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
ou plus simplement encore:

Sub sauvegarde()

    ActiveWorkbook.SaveAs Filename:= _

        "C:\Documents and Settings\Pat\Desktop\tests" & Range("A3").Value & ".xlsm", FileFormat:= _

        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End Sub

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de pile_poil
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
3
Merci
remplace range("B300") par
activesheet.range("B300")

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de pile_poil
Messages postés
21
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
1 avril 2009
0
Merci
Super!, Merci!
Commenter la réponse de Saratum
Messages postés
21
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
1 avril 2009
0
Merci
j'ai encore une erreure... 

    ' Enregistre nouveau nom de fichier
        Sheets("IMMEUBLE").Select
        Range("B300").Activate
        ChDir "C:\Documents and Settings\Pat\My Documents\Remax\commercial"
        ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\Pat\My Documents\Remax\fiches client\Alain Pierre\Prospects" & Range("B300").Value & ".xlsm" _
        , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

même erreur si je fais
    ' Enregistre nouveau nom de fichier
        Dim titre As String
        Sheets("IMMEUBLE").Select
        Range("B300").Activate
        titre = Range("B300").Value
            ChDir "C:\Documents and Settings\Pat\My Documents\Remax\commercial"
            ActiveWorkbook.SaveAs Filename:= _
            "C:\Documents and Settings\Pat\My Documents\Remax\fiches client\Alain Pierre\Prospects" & titre & ".xlsm", FileFormat:= _
            xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

erreur 1004
Commenter la réponse de Saratum
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
0
Merci
quelle erreur as tu ?
est ce que le chemin que tu donnes existe bien  ? (pas d'espace en moins ou en trop .... etc)
que contiend B300 ?
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Commenter la réponse de pile_poil
Messages postés
21
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
1 avril 2009
0
Merci
erreur 1004....

sur cette ligne de commande là...  ActiveWorkbook.SaveAs Filename:= _
            "C:\Documents and
Settings\Pat\My Documents\Remax\fiches client\Alain Pierre\Prospects"
& titre & ".xlsm", FileFormat:= _
            xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

le répertoire existe....

l'idéal pour moi aurait en fait été de créer par la même occasion un répertoire du même nom que le fichier xlsm....  

B300 contient le résultat d'un concaténer   une phrase avec une cote pour placer mes fichier en ordre d'importance d'opportunité, le numéro de fiche technique de la bâtisse et l'adresse...

l'erreur doit venir du fait que la ligne de commande est tronquée j'imagine, mais je ne sais pas comment arranger ça...
Commenter la réponse de Saratum
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
0
Merci
le texte de l'erreur 1004 quel est il ?
 il te donne une bonne indication sur la connerie à trouver
et quand il t'affiche l'erreur tu as un bouton aide qui te donne également de bonnes pistes

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Commenter la réponse de pile_poil
Messages postés
21
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
1 avril 2009
0
Merci
erreur d'exécution 1004
La méthode 'saveas' de l'objet '_workbook' a échoué
Commenter la réponse de Saratum
Messages postés
21
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
1 avril 2009
0
Merci
quand j'efface les espaces weird entre les séparations de la ligne de commande ActiveWorkbook.SaveAs Filename:= _
            "C:\Documents and
Settings\Pat\My Documents\Remax\fiches client\Alain Pierre\Prospects"
& titre & ".xlsm", FileFormat:= _
            xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Après ça me donne erreur 13: incompatibilité de type sur la ligne: titre = Range("B300").Value
Commenter la réponse de Saratum
Messages postés
21
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
1 avril 2009
0
Merci
Si je le fais comme ça:

        Sheets("IMMEUBLE").Select

        ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\Pat\My Documents\Remax\fiches client\Alain Pierre\Prospects" & Range("B300").Value & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
       
ça me donne encore incompatibilité de type en soulignant toute la ligne saveas
       
Commenter la réponse de Saratum
Messages postés
21
Date d'inscription
lundi 23 mars 2009
Statut
Membre
Dernière intervention
1 avril 2009
0
Merci
finallement! :P  merci! hihi :-)
Commenter la réponse de Saratum