IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA] Enregistrer un classeur avec le nom d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 164
    Points : 43
    Points
    43
    Par défaut [VBA] Enregistrer un classeur avec le nom d'une cellule
    bonjours a tous


    voila , dans mon projet , a l'ouverture, il me demande si je veux continué sur celui en cours oubien creer un nouveau ( 1 nouveau chaque mois)

    Quand je choisi nouveau, il m'efface toutes les données du mois precedent par contre avant cela , j'aimerais qu'il m'enregistre le projet avec comme nom , ce qui est ecrit dans une certaine cellule.

    j'ai essayer avec ca mais ca marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\Archives\" & Replace(sheets("pointage").Range("G1"))
    ThisWorkbook.Close savechanges:=True
    Comment faire
    merci a vous

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et qu'est ce qu'ait censé faire la fonction replace dans ton code ..?

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 164
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par bbil
    et qu'est ce qu'ait censé faire la fonction replace dans ton code ..?
    c 'etait pour le nom du fichier qui s'enregistre, ca viens d un ancien code que j'avais , mais c'est vrai que ca parait etrange

    merci a toi

  4. #4
    Membre habitué Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 198
    Points
    198
    Par défaut
    Hello bon ben vu qu'il n'y a pas marqué "Résolu" sur ce post j'en déduis que tu n'as pas compris ce qu'impliquait la réponse de Bbil. Dans le cas inverse ma (très faible) contribution ne servira à rien, mais alors viens cocher le tag "Résolu" Stp.

    Pour faire ce que tu veux, il suffit d'écrire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\Archives\" & sheets("pointage").Range("G1").value & ".xls"
    ThisWorkbook.Close
    J'ai rajouter le .xls au cas où il ne soit pas déjà écrit dans ta cellule G1 (je suis pas sûr à 100% que ce soit nécessaire mais bon )

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 164
    Points : 43
    Points
    43
    Par défaut
    salut a tous
    Désolé , j avais mis resolu mais comme j'ai une autre question , j'ai enlevé pour eviter de refaire un sujet :

    Voila , le code fonctionne tres bien , mais je me suis apercu que dans le fichiers enregistré , je n'ai pas besoin de mes userform et autre macro donc j'aimerais savoir comment faire pour :

    1- Enregistrer mon projet sans les userform ( ouverture normal )

    2- N'enregistrer que l'onglet "Pointage"

    merci a vous

  6. #6
    Membre habitué Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 198
    Points
    198
    Par défaut
    Si j'ai pas bien compris ta demande ça ne devrait pas être bien dur à réaliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    sub Enregistrer()
     
    dim stMonChemin as string
     
    stMonChemin=ThisWorkbook.Path & "\Archives\" & sheets("pointage").Range("G1").value & ".xls"
    worksheets("pointage").move
    activeworkbook.saveas stMonChemin
    application.displayalerts=false
    activeworkbook.close
    application.displayalerts=true
     
    end sub
    P.S: Dsl pour l'indentation et les miniscules du code mais je l'ai écris sans passer par Excel

Discussions similaires

  1. [XL-2010] ••• Sauvegarder en format PDF avec le nom d'une cellule spécifique •••
    Par federicop dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2014, 16h10
  2. Enregistrement d'un formulaire au nom d'une cellule
    Par catsyl dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/03/2013, 08h50
  3. Enregistrer un fichier avec un nom précis
    Par jbggg dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/10/2009, 22h28
  4. Réponses: 4
    Dernier message: 17/11/2008, 22h04
  5. Enregistrer un classeur suivant la valeur d'une cellule
    Par majcalro dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2008, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo