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

VB 6 et antérieur Discussion :

Excel, quit mais non close m'empechant de lancer d traitements sur d'autre fichier XL


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    Bonjour,

    Voila, j''ai fait une appli en VB6 travaille sur des fichiers excel et qui les ouvrent aprés traitement.

    Le souci c'est que je ne peux pas lancer d'autres traitement avec d'autres fichiers excel ( car même lorsque je ferme mes fichiers excel...( ils sont juste close et non quit...)
    ( je le voie dans l'onglet processus du gestionnaire d'excel...

    Comment pourrais-je faire

    Citation Envoyé par titeZ
    ( je le voie dans l'onglet processus du gestionnaire d'excel...
    Bah en faite j'ouvre l'aplli excel et j'ouvre les fichiers...
    La fermeture d'excel se fait ensuite manuellement ( bah avec la tite croix rouge )


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set appExcel = CreateObject("Excel.Application")
     
    appExcel.Visible = False
    Set wb1Excel = appExcel.Workbooks.Open("C:\" & Numpdt & "\vers_dc_frais.xls")
    Set wb2Excel = appExcel.Workbooks.Open("C:\" & Numpdt & "\vers_dc_frais2.xls")
    .
    .
    appExcel.Visible = True


    Les points c'est les differents traitements sur le fichiers....

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    Mais tu les ouvres depuis VB ... faut les fermer depuis VB aussi non ?

  3. #3
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Citation Envoyé par titeZ
    La fermeture d'excel se fait ensuite manuellement ( bah avec la tite croix rouge )
    Ne faudrait-il pas justement les fermer depuis ton code ??


    Cordialement
    ..........................."Membre Chevronné"... non "Chaviré" serait plus juste !!!
    ...............................Avant toute chose => Règles, FAQ, Tuto, Google...
    ...................................................................
    Rock'n Roll

  4. #4
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Vld44
    Mais tu les ouvres depuis VB ... faut les fermer depuis VB aussi non ?
    bah en faite je voudrais les laisser ouverts parce que je veux voir ce qu'il s'est passé, le truc c'est qu'il faut lles fermer a un moment mais comment et quand sachant que comme je viens de le dire j'en ai besoin juste aprés...

  5. #5
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par La Praline
    Je ne suis pas sûr que ce soit la bonne manière de dire "excusez-moi j'ai oublié de mettre mon code...".
    D'autant plus lorsqu'il s'agit d'un responsable... mais enfin bon, après tout je n'ai pas forcément raison...
    Effectivement tu n'as pas raison
    Seuls les responsables ont le droit de plaisanter ? Dans le monde on appele ça avoir de l'humour, bbil a su en faire preuve, je m'initie également mais visiblement ce n'est pqs ton cas... Ceci dit pour en venir a la question

    Je veux fermer manuellement mes fichiers excel mais quitter l'application excel également sans avoir a l'effacer dans le gestionnaire des taches

  6. #6
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Moi, à ta place, si je voulais que l'utilisateur puisse ouvrir Excel avec un fichier précis, j'utiliserait plutôt la fonction Shell ou encore l'API ShellExecute.

    On ouvre un fichier excel de la manière que tu as utilisé seulement quand on ne veut pas voir Excel s'afficher. Du moins, la plupart du temps.

  7. #7
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    A propos du shell,
    en faite il y a des traitements sur les differents fichiers et shell me permets d'executer exel si j'ai bien compris
    Je ne peux pas leur donner de nom à mes fichiers puisque je ne fais que les ouvrir ? si non comment?

    Merci

  8. #8
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Et pourquoi donc tu dois à tout prix mettre Excel visible ?

  9. #9
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    Bah à la fin c'est obligatoire, j'ai besoin que les fichiers s'ouvre

    Alors en faite pour toi ...je conserve mon code du depart avec appli visible = false
    et a la fin au lieu du =True, j'utilise le shell c'est ça ?
    Et ça va resoudre mon pbleme ?

  10. #10
    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 038
    Points
    20 038
    Par défaut
    Citation Envoyé par titeZ
    ....
    Le souci c'est que je ne peux pas lancer d'autres traitement avec d'autres fichiers excel ( car même lorsque je ferme mes fichiers excel...( ils sont juste close et non quit...)
    ( je le voie dans l'onglet processus du gestionnaire d'excel...
    .....
    Je n'ai toujours pas compris ce qu'été "l'onglet processus du gestionnaire d'excel"
    et ce que voulais dire "ils sont juste close et non quit.."


  11. #11
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par bbil
    Je n'ai toujours pas compris ce qu'été "l'onglet processus du gestionnaire d'excel"
    et ce que voulais dire "ils sont juste close et non quit.."

    ah mais j'ai trompé hihi
    roo ca va lol
    ce que je voulais dire c'est le gestionnaire des taches ( le ctrl alt sup)

    et en faite il st juste close et pas quit ca veux dire que les fichiers sont fermé mais l'appli excel elle est ouverte mais pas visible ( moi jle vois qu'elle est ouverte dans le gestionnaire des taches)

  12. #12
    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 038
    Points
    20 038
    Par défaut
    j'arrive pas reproduire ton problème sous (excel 2002..?) essai quand même de libérer tes "ressources" en fin d'utilisation par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ..
    Set wb1Excel = Nothing
    Set appExcel = Nothing
    End Sub

  13. #13
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    non ça ne résout pas mon probleme,
    Mais a vrai dire ça m'as fait découvrir que le pbleme ne vient pas du fait qu'excel soit ouvrir....


    En fait lorsque je lance l'appli que je fais un premier traitement...( dc mes fichiers excel s'ouvre...etc...) tout ce passe bien!
    Quand j'arrete l'appli que je la relance et que je refait un traitements ( dc mes fichiers excel .... nananana... ) Tout est ok aussi
    Maintenant le probleme c'est quand je lance l'appli et que je lance un fdeuxieme traitement aprés le premier sanns avoir arreté l'appli entre temps


    le probleme est au niveau du rAnge.. Le message d'erreur c'est la méthode range de l'objet global a échoué...

    Le code c'est celui là...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim ra As String
    ws3Excel.Activate
    Range("C2").Select
    For l = 1 To lignefin3
    etc....

    Comment ça ce fait que ca se passe bien quand je lance un traitement que j'arrete et je relance l'appli etc... mais pas quand je lance plusieur traitement ... parce que l'objectifs c'est pas de fermer l'appli a chaque fois que je fais une action dessus quand meme...

  14. #14
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Peux tu expliquer clairement, étape par étape, avec quelle application tu lance ou tu ferme, explicitement (la tienne ou Excel) et autant que possible sans les nananana qui n'apportent rien ? S'il te plaît, dis?

  15. #15
    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 038
    Points
    20 038
    Par défaut
    tiens le probléme à changé

    bon déjà évite d'utiliser les Select et Activate .. à priori on peu toujours s'en passer, prends l'habitude de préciser la feuille (excel) sur laquelle tu travaille.. n'écrit pas par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ws3Excel.Activate
    range("C2").Select
    Selection = 1
    mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ws3Excel.range("C2") = 1


    si tu utilise par exemple l'objet range s'en "rien devant" , tu agit sur la feuille active.. et s'il n'y as pas de feuille active ou si la feuille active est par exemple un graphique cela entraine une erreur "a méthode range de l'objet global a échoué..."

  16. #16
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 268
    Points : 91
    Points
    91
    Par défaut
    Le ws3 c'est la feuille 1 du classeur dc la feuille est bien precisé
    Quoi qu'il en soit ça fonctionne j'ai coomme tu me l'a indiqué re:mplacé les activate et ait mis range aprés tt de suite

    Mon probleme est resolu merci a vous deux

    jme demande tout de meme pourquoi ca tournait bien la premiere fois mais la 2eme fois ça bloquait....

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/12/2014, 11h07
  2. Fichier excel actif mais non ouvert
    Par Silvanos dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/02/2013, 17h56
  3. [Toutes versions] Formule pour recuperer une valeur sur un autre fichier Excel
    Par bonilla dans le forum Excel
    Réponses: 2
    Dernier message: 26/06/2012, 11h19
  4. [XL-2007] se positionner sur un autre fichier excel
    Par marcelisa2 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 14/03/2012, 11h58
  5. [VBA-E] Pointer sur un autre fichier Excel
    Par Yop dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 12/12/2006, 19h43

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