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 :

Récupérer le nombre d'onglets ouverts sous IE en VBA excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Récupérer le nombre d'onglets ouverts sous IE en VBA excel
    Bonjour à tous,

    Super ce site. J'y ai déjà trouvé plein d'astuces mais là...

    Mon client ouvre un fichier excel (un bon de commande) que j'ai créé, sous IE (le pénible déjà).

    Je souhaiterais qu'une macro envoie un Ctrl F4 s'il y a plusieurs onglets ouverts, et un Alt F4 s'il n'y a qu'un seul onglet ouvert.

    De plus, après l'envoi de ces raccourcis claviers, je souhaiterais que IE ne me demande pas s'il faut sauvegarder ou pas.

    Est ce que c'est possible??

    Merci de votre aide, parce que là je sèche complétement.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 647
    Points : 34 351
    Points
    34 351
    Par défaut
    salut,

    le code VBA se trouve dans le fichier ouvert sous IE ?

    Fermer des onglets a l'aveugle, c'est pas tres pro

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui le code VBA se trouve dans le fichier ouvert par IE.

    Je ne ferme pas à l'aveugle

    il y a deux boutons dans mon bon de commande, un qui valide le bon de commande et sauvegarde, et l'autre qui s'appelle "quitter sans valider", donc pas de sauvegarde.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 647
    Points : 34 351
    Points
    34 351
    Par défaut
    Et en faisant juste un
    ca ne ferme pas tout ?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    S'il y a plusieurs onglets d'ouverts, je voudrais ne fermer que l'onglet où mon fichier excel est ouvert...avec un application.quit ça ferme tout, qu'il y ait un ou plusieurs onglets d'ouverts.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 647
    Points : 34 351
    Points
    34 351
    Par défaut
    Ok, je suppose que la possibilite de
    ne ferme pas la fenetre en elle meme mais juste le fichier ?

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Non, ThisWorkbook.close ne fonctionne que sous Excel, pas sous IE...

    La seule solution que j'ai trouvé c'est un sendkey Ctrl F4 ou Alt F4 selon qu'il y ait un ou plusieurs onglets...s'il y a un seul onglet il faut faire Alt F4 sinon Ctrl F4 ne marche pas, et s'il y a plusieurs onglets il faut faire Ctrl F4 pour fermer l'onglet courant, sinon Alt F4 ferme tout! D'où ma question, comment on fait pour savoir combien il y a d'onglets dans IE??

    Celui qui connait la réponse recevra le titre de dieu du VBA.

  8. #8
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Essaye avec "Ctrl W" qui ferme l'onglet actif, qu'il y en a 1 ou plusieurs

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Yo

    Non ça ne fonctionne pas...cette commande je l'avais déjà essayé et il ne se passe rien quand je clique sur mon bouton "Quitter sans valider" où dedans il y a donc SendKeys "^W". Les seuls qui fonctionnent c'est faire un SendKeys pour un Ctrl F4 et SendKeys pour un Alt F4...Bizarre non?

  10. #10
    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
    Bonsoir,

    Je suis sur une piste trouvée sur ce site:
    http://vba-corner.livejournal.com/4623.html

    Tu peux commencer à t'en inspirer.
    Il faut cocher la référence Microsoft Internet Controls.
    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
    'finds an open IE site by checking the URL
    Function GetOpenIEByURL(ByVal i_URL As String) As SHDocVw.InternetExplorer
    Dim objShellWindows As New SHDocVw.ShellWindows
     
      'ignore errors when accessing the document property
      On Error Resume Next
      'loop over all Shell-Windows
      For Each GetOpenIEByURL In objShellWindows
        'if the document is of type HTMLDocument, it is an IE window
        If TypeName(GetOpenIEByURL.Document) = "HTMLDocument" Then
          'check the URL
          If GetOpenIEByURL.Document.URL = i_URL Then
            'leave, we found the right window
            Exit Function
          End If
        End If
      Next
    End Function
     
     
    Sub test()
      Dim a As SHDocVw.InternetExplorer
      Set a = GetOpenIEByURL("http://vba-corner.livejournal.com/4623.html")
      a.Quit
    End Sub
    Si tu ne trouves pas, je continuerai mes essais mais pas avant demain soir.

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bon je ne trouve pas la solution, désolé...j'ai peut-être une autre porte de sortie, mais pour ça il faudrait que je puisse détecter si mon fichier excel a été ouvert sous IE ou sous Excel...faut-il que j'ouvre un autre topic?

  12. #12
    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,

    Connais-tu l'URL du site où se trouvent tes fichiers?
    Si oui, la solution est celle que je t'ai donnée.

    Question:
    As-tu un exemple accessible depuis Internet que je puisse tester?

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Non je ne connais pas l'URL, il l'ouvre chez lui, dans l'environnement de sa société (Schneider en l'occurence).

    Si tu veux tester, je peux t'envoyer le fichier en question, comment procède-t-on?

Discussions similaires

  1. nombre d'onglets ouverts
    Par pascb423 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 10/08/2009, 10h05
  2. Réponses: 6
    Dernier message: 18/11/2008, 21h34
  3. Réponses: 2
    Dernier message: 04/05/2008, 20h45
  4. PB avec enregistrer sous ppt depuis VBA Excel
    Par sash6 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/11/2007, 09h05

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