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 :

Problème avec 2 fichiers ouverts en même temps


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Problème avec 2 fichiers ouverts en même temps
    Bonjour à toutes et à tous,

    Dans une application sous Excel Vba, une macro me permet d'ouvrir un fichier en même temps que le fichier principal.

    Dans le code que je mets ici, c'est le fichier "Batiprix" qui s'ouvre en même temps que le fichier principal qui s'appelle "Factures".

    Dans le fichier "Factures", je n'ai plus les barres de menus propres à Excel car j'ai créé ma propre barre de menus.

    Lorsque j'ouvre un autre fichier, je n'ai aucun moyen de le fermer sans fermer les 2 fichiers en même temps. Je souhaite que le fichier principal reste ouvert.

    Pouvez-vous m'aider à trouver une solution s'il vous plait car cela fait beuguer mon application.
    Je vous en remercie chaleureusement
    René

    Voici le code :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    If Me.CmbMarche.Value <> "" Then   'Si le Combo est différent de vide
     
    If Dir(stFichComp) = "" Then  'Si le fichier Batiprix.xls n'existe pas, on le crée
        Workbooks.Add (1)
        NewRech = True
        Set wbkBatiprix = ActiveWorkbook         'On nomme la première feuille
        Set shtBati = wbkBatiprix.ActiveSheet
            shtBati.Name = NumLign
            wbkBatiprix.SaveAs Filename:=stFichComp
    Else
        Set wbkBatiprix = Workbooks.Open(stFichComp)    'Si le fichier Batiprix.xls existe
     
        Existe = False
        For Each ws In Worksheets
            If ws.Name = NumLign Then  'On cherche si la feuille existe
                Set shtBati = ws
                Existe = True
                Exit For
            End If
        Next ws
        If Not Existe Then
            Set shtBati = wbkBatiprix.Sheets.Add(Type:=xlWorksheet) 'Sinon on ajoute une nouvelle feuille
            shtBati.Name = NumLign
            NewRech = True
        End If
    End If

  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,

    si je comprends bien, je ferai ceci :

    dans ta barre personalisée, j'ajouterai une procédure pour ouvrir un fichier mais avec une autre instance de l'application... qui auront donc chacune leur barre de menu perso.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour mayekeul,

    Peux-tu m'expliquer s'il te plait car je ne comprends pas très bien. Peut-être la fin de la semaine ????
    Je t'en remercie par avance

  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
    bonjour,

    dans ta barre de menu personalisé que tu a créé, tu rajoute une commande qui lancera le code ci dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub OuvrirFichierSession()
    Dim xlApp As Excel.Application
     
    Set xlApp = New Excel.Application
    xlApp.Visible = True
    xlApp.Dialogs(xlDialogOpen).Show
    End Sub
    comme je ne suis pas sur que ce code est valable sur toute les versions
    en voici un autre qui fonctionne tout aussi bien toute version confondue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub OuvrirFichierSession()
    Dim xlApp As Excel.Application
     
    Set xlApp = New Excel.Application
    xlApp.Visible = True
    xlApp.Workbooks.Open (xlApp.GetOpenFilename("Excel Files(*.xls*),*.xls*"))
    End Sub

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

Discussions similaires

  1. [fopen] Plusieurs fichiers ouverts en même temps
    Par Newenda dans le forum MATLAB
    Réponses: 6
    Dernier message: 09/04/2009, 13h38
  2. Problème avec un fichier .BAT
    Par jbidou88 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 26/04/2006, 14h55
  3. [MySQL] problème avec 2 requetes pour 1 même tableau
    Par guy2004 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/11/2005, 12h50
  4. Problème avec des fichiers
    Par Stany dans le forum C++
    Réponses: 7
    Dernier message: 17/10/2005, 16h53
  5. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44

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