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 :

double clic ouvre fichier pdf [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut double clic ouvre fichier pdf
    Bonjour à tous,
    J'ai bien regardé tous les sujets et même davantage et la conclusion est que pour environ 5000 factures (il y en a de très petites) le lien hypertexte semble lourd à gérer.
    Je me tourne donc vers une macro comme celle ci-dessous, mais qui ne fonctionne pas. De plus, il faudrait qu'elle puisse fonctionner avec tous lecteurs de Pdf.
    Sur mon PC j'ai Foxit Reader
    En vous remerciant de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    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"   'mon dossier
        Siret = Target
        If Siret <> "" Then
          Shell "C:\Program Files(x86)\Foxit Software\Foxit Reader\FoxitReader.exe " & CheminDOc & "\" & Siret & ".pdf"   'chemin de Foxit Reader
          Shell "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe " & CheminDOc & "\" & Siret & ".pdf" 'chemin supposé pour Adobe Reader
        Else
          MsgBox "La cellule est vide, veuillez double cliquer sur une autre cellule"
        End If
      End If
    End Sub
    http://www.cjoint.com/c/GJwmJkteJLO

  2. #2
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,

    Voir ce lien : https://www.developpez.net/forums/d7...i/#post4539911
    Ce qui est intéressant c'est que apparemment on a pas besoin de préciser l'exécutable et donc faut juste indiqué l'emplacement du fichier quelqu'il soit
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  3. #3
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, kif kif
    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
    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 Const SW_SHOWNORMAL = 1
     
    Sub Tst()
    Dim sFichier As String, hwnd As Long
        sFichier = ThisWorkbook.Path & "\" & "Test.pdf"
        ShellExecute hwnd, "Open", sFichier, 0&, 0&, SW_SHOWNORMAL
    End Sub

  4. #4
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Bonjour RyuAutodidacte,
    Je te remercie c'est exactement ce dont j'avais besoin.
    Bonne fin de journée.

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Re,
    Si, au lieu de la colonne A je souhaite que ce soit dans la colonne D que dois-je changer svp.
    En vous remerciant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_BeforeDoubleClick(ByVal C As Range, Cancel As Boolean)
        Dim fichier_nom As String, fichier_emplacement As String
        Cancel = -1
        If C.Column = 1 And C.Row > 7 Then
            On Error GoTo fin
            fichier_nom = Selection.Value & ".pdf"
            ' chemin adapter
            fichier_emplacement = "C:\Travaux\"
            CreateObject("WScript.Shell").Run fichier_emplacement & fichier_nom
            Exit Sub
        End If
    fin: MsgBox "Fichier Pdf inexistant."
    End Sub

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    quand je "tombe" sur une telle question, à savoir :
    Si, au lieu de la colonne A je souhaite que ce soit dans la colonne D que dois-je changer
    je me dis que j'ai bien raison de ne pas croire que les codes distribués "tout-cuits" sont un apprentissage; qu'ils sont analysés et compris.
    On en a là une preuve manifeste.
    Que faire, dans un tel cas ? Je préfère quant à moi ne pas être complice de l'entretien d'un certain état.
    On me dira que je suis rude ? Il est pire d'être d'une certaine manière assez "malhonnête"
    Bonne nuit.

    EDIT : je devine hélas la réaction (du grand "classique" - chanson devenue habituelle) probable de jean30. Elle sera du genre "si tu ne veux pas m'aider, passe ton chemin. Je n'ai que faire de tes réponses, etc... etc ...").
    J'observe qu'il est sur ce forum depuis plusieurs années et qu'il ne semble pas avoir commencé à apprendre les rudiments-mêmes de VBA.

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Normalement cela devrait générer un instinct de recherche

    Column

    Et puis Excel 2003 n'est pas Excel 2016. La touche mène à l'aide interne

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

Discussions similaires

  1. [XL-2013] Double clic sur un fichier ne l'ouvre pas
    Par kuranes dans le forum Excel
    Réponses: 11
    Dernier message: 24/09/2015, 16h53
  2. Ouverture application java par double-clic sur fichier
    Par Lepolochon dans le forum Général Java
    Réponses: 2
    Dernier message: 27/09/2011, 10h53
  3. visualiser un PDF : double clic pour ouvrir le fichier
    Par ETL68350 dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2010, 13h28
  4. [VB.NET] Ouvrir fichier dans appli par double-clic dessus
    Par vynce dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/03/2005, 16h43
  5. Ouvrir un fichier sur un double-clic dans une TListBox
    Par SegmentationFault dans le forum Composants VCL
    Réponses: 4
    Dernier message: 09/08/2004, 17h22

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