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 :

Macro Fermeture fichier


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Macro Fermeture fichier
    Bonjour à tous,

    Contrairement à ce que laisse croire l'intitulé du message, le problème n'est pas aussi simple.

    J'ai créé un "fichier A" dans lequel j'enregistre des infos, dans ce fichier j'ai créé une macro qui enregistre une copie de ce fichier en le renommant, le nom se compose du contenu d'une cellule "B1" par exemple et la date. Ce qui donne un nom du genre: B1-28-janv-2013

    Ensuite la macro appelle un "fichier B" déjà ouvert (grâce à la fonction "Workbooks(Fichier B).Activate") et y colle des infos provenant du "fichier A".

    Donc me voilà dans la situation où le fichier actif est le "fichier B" et j'aimerai trouver une solution pour fermer le "fichier A" en laissant ouvert le "fichier B"

    J'ai essayé avec la fonction "ActiveWorkbook.Close savechanges:=False" mais cela me ferme le "fichier B"

    Existe t il une fonction similaire pour fermer mon "fichier A" sans revenir sur celui ci ?

    J'espère avoir été clair et je vous remercie par avance de votre aide.

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Points : 3 864
    Points
    3 864
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ' Pour fermer le classeur actif 
    ActiveWorkbook.Close savechanges:=False 
     
    ' Pour fermer le fichier .xls 
    Workbooks("monfichier.xls" ).Close savechanges:=False

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Infos complémentaires...
    Merci QuestVba,

    Le soucis étant que mon fichier s'enregistre toujours avec un nom différent alors je ne peux pas utiliser ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("monfichier.xls" ).Close savechanges:=False
    J'avais pourtant eu l'idée de mettre le nom du fichier sous une variable appelée monfichier mais je n'arrive pas à le rappeler avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(mon fichier).Activate
    Merci d'avance.

  4. #4
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Points : 3 864
    Points
    3 864
    Par défaut
    Re-,

    Tu dois pouvoir le rappeler comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    nffch = nom_fichier$ + ".xls"
    Windows(nffch).Activate

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour,

    Comme il est dit et répété à de nombreuses reprises sur ce forum, il faut éviter les Select et Activate.

    Un petit exemple de code "propre":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub test()
      Dim ClasseurA As Workbook
      Dim ClasseurB As Workbook
      Dim Feuille1DuClasseurA As Worksheet
      Dim Feuille1DuClasseurB As Worksheet
      Set ClasseurA = ThisWorkbook
    '  Set ClasseurB = Workbooks.Open("C:\UnDossier\UnNomDeFichier.xls") ' Utiliser ce genre de syntaxe si le classeur n'est pas ouvert
      Set ClasseurB = Workbooks("LeNomDuClasseurB.xls")
      Set Feuille1DuClasseurA = ClasseurA.Sheets(1)
      Set Feuille1DuClasseurB = ClasseurB.Sheets(1)
      ClasseurA.SaveAs ClasseurA.Path & "\" & Feuille1DuClasseurA.Cells(1, 2).Text & "-" & Format(Date, "dd-mm-yyyy")
    '  Ton code de copie du genre
    '  Feuille1DuClasseurB.Cells(1, 1) = Feuille1DuClasseurA.Cells(1, 1)
      ClasseurA.Close
    End Sub
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. [XL-2010] Macros sauvegarde / fermeture fichier / ouverture fichier
    Par olive59 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 18/08/2011, 11h19
  2. [TOMCAT] Pb fermeture fichiers .js
    Par Cako19 dans le forum Tomcat et TomEE
    Réponses: 31
    Dernier message: 13/01/2006, 18h06
  3. [VBA][Excel]Exécution macro avec fichiers source
    Par ouezon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/12/2005, 01h00
  4. Fermeture Fichier Excel
    Par beurnoir dans le forum Access
    Réponses: 22
    Dernier message: 28/10/2005, 17h22
  5. [VBA-E] Macro ouverture fichier déja ouvert
    Par bhaal76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 15h30

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