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 :

Ouvrir fichier excel avec vba [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 55
    Points : 37
    Points
    37
    Par défaut Ouvrir fichier excel avec vba
    salut a tous,

    j'essaie de faire un programme pour pouvoir ouvrir n'importe quel type de fichiers à travers un code vba.

    mon code est le suivant


    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
    Option Explicit
     
         Private Declare Function ShellExecute Lib "shell32.dll" Alias _
         "ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
         String, ByVal lpszFile As String, ByVal lpszParams As String, _
         ByVal lpszDir As String, ByVal fsShowCmd As Long) As Long
     
         Private Declare Function GetDesktopWindow Lib "user32" () As Long
     
         Const SW_SHOWNORMAL = 1
     
         Function StartDoc(DocName As String) As Long
             Dim Scr_hDC As Long
             Scr_hDC = GetDesktopWindow()
             StartDoc = ShellExecute(Scr_hDC, "Open", DocName, _
             "", "C:\", SW_SHOWNORMAL)
         End Function
     
    Sub TESTH()
             Dim r As Long
             Dim ledoc As String
             Dim chemin As String
             chemin = Range("ai:aj").Find(what:=Range("f6")).Offset(0, 1).Value
             ledoc = chemin
             r = StartDoc(ledoc)
    End Sub

    cependant sa marche pour TOUT type de fichiers ... office, internet, photo, text, explorateur ...

    mais pour les fichiers excel, sa plante ! sa ne sort pas une msgbox d'erreur, mais sa mouline a fond sans s'en sortir ..

    en mode pas a pas, apriori je detecte le bug a la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    StartDoc = ShellExecute(Scr_hDC, "Open", DocName, _
             "", "C:\", SW_SHOWNORMAL)
    si vous avez une idée ..

    merci d'avance

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour
    peut etre parceque pour les fichiers excel l'application est deja ouverte puisque il y a execution de la macro

    peut etre que tu devrais metre une condition sur les extention (xls,xlt,xlm)
    selon ta version d'exel et de fichier

    cette condition dirait que si c'est du xl...

    instancier une nouvelle instance d'excel et d'ouvrir le fichier sur celle ci


    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    je vois. sa marcherai pas parce qu'excel est déjà ouvert enfaite ?


    par contre je t'avoue que je débute totalement en vba .. j'ai simplement trouver le code, j'en ai compris les grande ligne pour l'adapter à mon besoin ..

    pourrais tu m'apporter un peu plus d'info ?

    merci d'avance

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    suite à un avis sur un autre forum, j'ai codé de maniere différente, sans la fonction shellexecute qui était un peu "un bazooka pour tuer une mouche" .. j'ai voulu utiliser la grosse artillerie pour pas faire grand chose d'exceptionnel !

    merci quand meme !

    ma solution :

    "Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MyPath = "c:\blah\blah\"
    MyFile = "MonFichierEnVarialble.xls"
     
    ActiveWorkbook.FollowHyperlink Address:=MyPath & MyFile, NewWindow:=True

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

Discussions similaires

  1. [XL-2003] Ouvrir un fichier excel avec vba
    Par Lardon dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/07/2019, 13h52
  2. [XL-2003] Pouvoir ouvrir des fichiers excel avec vba sans le faire planter
    Par perpitou dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/12/2011, 15h52
  3. ouvrir fichier Excel avec VC++
    Par jerome71300 dans le forum C++
    Réponses: 41
    Dernier message: 09/04/2008, 17h36
  4. Ouvrir fichier Excel avec macro
    Par zephirsoul dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/11/2007, 18h48
  5. créer un fichier excell avec VBA(access)
    Par JCH dans le forum Access
    Réponses: 1
    Dernier message: 19/09/2006, 19h07

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