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 :

Fermeture d'un fichier avec nom variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 16
    Points
    16
    Par défaut Fermeture d'un fichier avec nom variable
    Bonjour à tous.

    J'ai de nouveau besoin de vos lumières.
    J'ai la macro suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton1_Click()
    UserForm1.Hide
     
    Dim QuelFichier As Variant
     
     QuelFichier = Application.GetOpenFilename(Title:="Sélectionner le fichier à traiter", MultiSelect:=False)
     
    If VarType(QuelFichier) = vbBoolean Then 'Annulation ouverture
     
          Exit Sub
     
    End If
    Elle me permet d'ouvrir le fichier de mon choix et ensuite d'effectuer diverses opérations dessus. Le problème c'est qu'à la fin de la macro j'aimerai que le fichier en question se ferme automatiquement.
    J'ai essayé quelque chose comme :

    QuelFichier = Application.GetCloseFilename(Title:="Sélectionner le fichier à traiter", MultiSelect:=False)

    Mais sans succès...

  2. #2
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    en travaillant plutot comme ça je pense que cela devrais t'aider
    si j'ai bien compris ce que tu veux du moins.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub openclosebook()
    Dim wb As Workbook
     
    Set wb = Workbooks.Open(Application.GetOpenFilename(Title:="Sélectionner le fichier à traiter", MultiSelect:=False))
     
    MsgBox "fichier ouvert"
     
     
    wb.Close
     
    MsgBox "fichier fermé"
    End Sub

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    ça n'a pas l'air de marcher. Je me suis peut être mal exprimé.

    J'ai mis un userform sur ma macro qui est là dès qu'on l'ouvre. Lorsque je clique sur l'userform, le code ci dessus, m'ouvre une boite me proposant de sélectionner le fichier à traiter. Une fois ce fichier sélectionné des infos sont prises dessus et la macro tourne. Tout est ensuite conservé sur un autre fichier. J'aimerai donc que le fichier ouvert grâce à l'userform se ferme tout à la fin de ma macro.
    Si j'ai bien compris il s'appelle "QuelFichier" et c'est une variable.
    J'ai donc essayer QuelFichier.close tout à la fin de la macro mais ça ne marche pas;

  4. #4
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    dans ton instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    QuelFichier = Application.GetOpenFilename(Title:="Sélectionner le fichier à traiter", MultiSelect:=False)
    QuelFichier renvoie juste une chaine de caractères qui correspond à quelque chose comme "C:\...\fichiers.xls"

    tu dois donc comme je te l'ai indiquer
    ouvrir un classeur dont le nom est QuelFichier

    ce classeur on le référence dans une variable pour pouvoir le rapeller facilement à tout moment et par la même occasion... le fermer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    dim wb as workbook  ' variable classeur
     
    ...
    'on ouvre
    set wb=workbooks.open(QuelFichier)
     
    'on fait des choses..
     
    ...
     
    'on ferme
     
    wb.close

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    En fait tu me conseilles de modifier le début de mon code?
    Je vais essayer ça après manger.
    Merci beaucoup pour ton aide en tout cas

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup Mayekeul ça marche impeccable!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Macro enregistrement fichier excel en pdf avec nom variable
    Par catetesse dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 23/01/2018, 14h03
  2. [2012] Import fichier avec nom variable
    Par parker13 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 23/01/2014, 09h50
  3. [XL-2007] Joindre fichier avec nom variable
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 17/10/2013, 16h14
  4. Ouvrir un fichier Excel avec nom variable
    Par Mechsangoku dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/10/2009, 12h36

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