Code Vba

Résolu
jean300 Messages postés 382 Statut Membre -  
jean300 Messages postés 382 Statut Membre -
Bonjour chers amis,

J'essaie en double cliquant en colonne A qui contient cette formule : =SI(ESTVIDE(F27);"";A26+1)
sur le numéro d'ordre (ex. 20) pour que ça m’ouvre la facture 20.pdf enregistrée dans le même dossier et qui se trouve sur le bureau.
Ce pour chaque numéro d'enregistrement quel que soit le logiciel PDF.
J'ai essayer ce code, mais il ne fonctionne pas.
Ne maitrisant pas le Vba je suis perdu.
Je vous remercie de bien vouloir m'éclairer.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
Dim Siret As String
Dim CheminDOc As String
CheminDOc = ChDir("E:\Utilisateurs\Castor\Bureau\Facture rénovation maison")
Siret = Target
If Siret <> "" Then
 Shell "C:\Program Files\Foxit Software\Foxit Reader\FoxitReader.exe " & CheminDOc & "\" & Siret
Shell "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe " & CheminDOc & "\" & Siret
 Else
MsgBox "La cellule est vide, veuillez double cliquer sur une autre cellule"
End If
End Sub

13 réponses

  1. M-12 Messages postés 1349 Statut Membre 285
     
    Bonjour,
    Il faudrait rajouter l’extension du fichier PDF à ouvrir

    & Siret &".PDF"
    0
  2. jean300 Messages postés 382 Statut Membre 14
     
    Bonjour M-12
    Je te remercie de t'intéresser à ma demande
    J"ai fonction ou variable attendu ici
    CheminDOc = ChDir("E:\Utilisateurs\Castor\Bureau\Facture rénovation maison") & Siret & ".PDF"
    0
  3. M-12 Messages postés 1349 Statut Membre 285
     
    Re,
    Teste comme ceci
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Siret As String
    Dim CheminDOc As String
    If Target.Column = 1 Then
    CheminDOc = ChDir("E:\Utilisateurs\Castor\Bureau\Facture rénovation maison")
    Siret = Target
    If Siret <> "" Then
    Shell "C:\Program Files\Foxit Software\Foxit Reader\FoxitReader.exe " & CheminDOc & "\" & Siret & ".pdf"
    Shell "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe " & CheminDOc & "\" & Siret & ".pdf"
    Else
    MsgBox "La cellule est vide, veuillez double cliquer sur une autre cellule"
    End If
    End If
    End Sub
    0
  4. jean300 Messages postés 382 Statut Membre 14
     
    Re,
    Même problème à ChDir
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. M-12 Messages postés 1349 Statut Membre 285
     
    Autant pour moi, il faut l'ôter le CHDIR

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Siret As String
    Dim CheminDOc As String
    If Target.Column = 1 Then
    CheminDOc = "E:\Utilisateurs\Castor\Bureau\Facture rénovation maison"
    Siret = Target
    If Siret <> "" Then
    Shell "C:\Program Files\Foxit Software\Foxit Reader\FoxitReader.exe " & CheminDOc & "\" & Siret & ".pdf"
    Shell "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe " & CheminDOc & "\" & Siret & ".pdf"
    Else
    MsgBox "La cellule est vide, veuillez double cliquer sur une autre cellule"
    End If
    End If
    End Sub
    0
  7. jean300 Messages postés 382 Statut Membre 14
     
    Re,
    Cette ligne est surlignée en jaune
    Shell "C:\Program Files\Foxit Software\Foxit Reader\FoxitReader.exe " & CheminDOc & "\" & Siret & ".pdf"
    0
  8. M-12 Messages postés 1349 Statut Membre 285
     
    Re,

    As-tu FOXIT Reader installé sur ta machine ?
    Si OUI
    Le chemin d'accès est -il le bon ?

    Idem pour Adobe
    0
  9. jean300 Messages postés 382 Statut Membre 14
     
    Re,
    Oui tout ce chemin est bon
    J'ai corrigé
    C:\Program Files(x86)\Foxit Software\Foxit Reader\FoxitReader.exe
    et c'est pareil
    0
  10. M-12 Messages postés 1349 Statut Membre 285
     
    Re

    Teste Ceci, sinon je ne vois pas

    Option Explicit
    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
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Siret As String
    Dim CheminDOc As String
    If Target.Column = 1 Then
    CheminDOc = "E:\Utilisateurs\Castor\Bureau\Facture rénovation maison"""
    Siret = Target
    If Siret <> "" Then
    Const SW_SHOWMAXIMIZED = 3
    ShellExecute 0&, "open", CheminDOc & "\" & Siret & ".pdf", 0&, 0&, SW_SHOWMAXIMIZED
    Else
    MsgBox "La cellule est vide, veuillez double cliquer sur une autre cellule"
    End If
    End If

    End Sub

    0
  11. jean300 Messages postés 382 Statut Membre 14
     
    Re,
    Non il ne se passe rien, désolé
    0
  12. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    En reprenant votre code du début, après CHDIR, il ne doit pas y avoir de parenthèses
    ChDir "E:\Utilisateurs\Castor\Bureau\Facture rénovation maison"
    Siret = Target
    Peut-être que cela solutionnera votre problème.
    Cdlt
    0
  13. jean300 Messages postés 382 Statut Membre 14
     
    Bonjour Frenchie83,
    Je te remercie mais ça met : Attendu fin d'instruction
    0