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

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

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Points : 122
    Points
    122
    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
    Expert confirmé
    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
    Points : 4 174
    Points
    4 174
    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 en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  3. #3
    Expert éminent sénior
    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
    Points : 11 274
    Points
    11 274
    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 régulier
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

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

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

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Points : 122
    Points
    122
    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
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    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.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  7. #7
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    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
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour Clément
    L'instinct ? -->> voilà à quoi il est réduit. Et dans la foulée : voilà à quoi est également réduite la manière de "travailler" :
    Certains sont très manifestement assez doués pour jouer (que dis-je ! -->> FAIRE jouer) au ping-pong entre sites.
    Amitiés
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  9. #9
    Expert confirmé
    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
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonjour Jacques,

    +2
    Entièrement d'accord avec tes 2 posts. Surtout avec les réponses données, avec un peu de recherches (pour comprendre), d'analyse et de jugeote l'aurait permis de s'en sortir seul et par la même occasion d'apprendre.
    Malheureusement, il y en a certain dont le besoin est ponctuel et cherche du tout cuit au détriments de plusieurs sites d'entraide, ce qui dégrade les discussions, celles-ci étant tronquées par des réponses disséminées entre différent forum de différents sites …

    J'imagine ceux qui recherche leur réponse dans un forum et dont la discussion peut parfois passer du coq à l'âne. Cela ne doit pas aider dans la compréhension !
    Edit : Où se retrouver face à une discussion non résolu aussi, dont la réponse final se trouve dans un autre forum (et inversement la réponse pouvant se trouver sur ce forum et non les autres).
    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 en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

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

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Points : 122
    Points
    122
    Par défaut
    Bonjour,
    Merci clementmarcotte de m'avoir ouvert les yeux.

+ 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