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 :

Ouverture d'un fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut Ouverture d'un fichier
    Bonjour,

    Je n'arrive pas à lancer un fichier (extension indifférente) avec ma variable "fich" par contre si je remplace dans le shellexecute ma variable par le chemin de mon fichier cela fonctionne, auriez vous une idée
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim fich As Variant
      Feuil1.Activate
      Cel.Activate
    ActiveCell.Offset(0, 1).Select
    fich = ActiveCell.Value
    
    'Mon problème ci dessous
    ShellExecute 0, "open", fich, "", "", SW_SHOWNORMAL
        Exit Sub

  2. #2
    Membre éclairé Avatar de ancel17
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Mars 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Mars 2007
    Messages : 312
    Par défaut
    tu as essayé en passant par la fonction il faut que fich renvoie un chemin d'accès, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fich = "C:\WINDOWS\CALC.EXE"

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    A tester :

    • Passes ta variable fich en type String au lieu de Variant.
    • Regardes bien ce qu'il y a comme valeur dans cette variable avec un Debug.Print

    Starec

  4. #4
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut
    Bonjour,
    suite au débug.print ma variable comporte bien le chemin du fichier que je veux ouvrir
    Ci joint le programme au cas ou quelqu'un tombe sur une erreur, mais je ne comprends toujours pas pourquoi le shellexecute ne fonctionne pas
    Merci

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Private Const SW_SHOWNORMAL = 1
    
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    
    
    Sub Macro_Recherche()
    Dim Str_Plage As String
    Dim Cel As Range
    Dim Feuil As Worksheet
    Dim Str_critère As String
    Dim X As Byte
    
     
    Str_Plage = "B:B"
    Str_critère = InputBox("Article à rechercher ?")
    For Each Feuil In Sheets
    For Each Cel In Feuil.Range(Str_Plage)
    If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then
     
    Feuil.Activate
    Cel.Activate
     
    X = MsgBox("Mot """ & Str_critère & """ trouvé :" & Chr(13) & _
    "Sur la feuille : " & Feuil.Name & Chr(13) & _
    "à la cellule : " & Cel.Address(0, 0) & Chr(13) & Chr(13) & _
    "Oui : Lancer fichier" & Chr(13) & _
    "Non : on continue la recherche " & Chr(13), vbDefaultButton2 + _
    vbQuestion + vbYesNo, "MOT TROUVÉ")
    Select Case X
    Case 6
    
    Dim fich As String
      Feuil1.Activate
      Cel.Activate
      '  ActiveCell.Offset(0, 1).Select
    'Fich = ActiveCell
    ActiveCell.Offset(0, 1).Select
    fich = ActiveCell.Text
    ShellExecute 0, "open", fich, "", "", SW_SHOWNORMAL
        Exit Sub
    
    Case 2 'annuler on sort
        Exit Sub
    Case Else 'Non=7
    'on fait rien, mais on pourrait
    End Select
    End If
    Next Cel
    Next Feuil
    MsgBox ("pas trouvé")
    End Sub

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Par défaut
    J'ai un peu évolué dans mon problème en ouvrant facilement un .Txt

    par contre j ai trouvé qu on pouvait utiliser ceci pour ouvrir un pdf

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute Me.hwnd, vbNullString, CheminDeAcrobat.exe, ChemindetonFichierPDF "C:\", SW_SHOWNORMAL
    Mais moi j ai plusieurs documents avec des extensions différentes, n-y a t il pas un moyen d'ouvrir toutes les appli en une commande?

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

Discussions similaires

  1. Ouverture d'un fichier excel predefini
    Par nberthonneau dans le forum Access
    Réponses: 10
    Dernier message: 13/06/2007, 22h14
  2. [Système] ouverture d'un fichier pdf
    Par joneil dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 17/05/2005, 10h36
  3. Réponses: 2
    Dernier message: 06/04/2005, 12h01
  4. Réponses: 5
    Dernier message: 27/07/2004, 17h04
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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