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 :

Gestion caractères nom de fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2018
    Messages : 116
    Par défaut Gestion caractères nom de fichier
    Bonjour le forum,

    J'ai dans l'événement doubleclick de ma feuille, un code me permettant de d'accéder à un fichier pdf lorsque je clique sur ma cellule contenant le nom du fichier concerné. Par exemple dans ma cellule A4 j'ai "111-22-033" ou elle peut aussi être sous la forme "111-22-033 P" ou "111-22-033_P". Et dans un dossier de mon ordinateur j'ai donc le fichier pdf sous la forme "111-22-033_P". Voici le code :

    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
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
    Dim Chemin, Extension
     
     
    Chemin = "H:\DESK\DOC\FICHIER\"
    Extension = ".pdf"
    If VBA.Trim(Target.Value) > "" And Target.Column = 1 And Target.Row > 1 Then
        Cancel = True
        On Error Resume Next
        ThisWorkbook.FollowHyperlink (Chemin & VBA.Trim(Target.Value) & Extension), , True
    End If
     
    End If
     
    End Sub
    Cependant mon code ne marche que lorsque mon fichier dans mon dossier et ma cellule A4 sont sous la forme "111-22-033". En effet, si je laisse mon fichier sous la forme "111-22-033_P" mon code ne marche pas. Du coup, comment puis-je faire pour ne prendre en compte que la partie "111-22-033" de mon fichier ainsi que de ma cellule A4 quelque soit la forme que j'ai cité au-dessus ?

    J'ai essayé de faire comme-ceci mais pas de résultat :

    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 Target As Range, Cancel As Boolean)
     
    Dim Chemin, Extension
     
    Chemin = "H:\DESK\DOC\FICHIER\"
    Extension = ".pdf"
    If VBA.Trim(Target.Value) > "" And Target.Column = 1 And Target.Row > 1 Then
        Cancel = True
        On Error Resume Next
        ThisWorkbook.FollowHyperlink (Chemin & Left(VBA.Trim(Target.Value), InStr(1, VBA.Trim(Target.Value), "_") - 1) & Extension), , True
    End If
     
    End Sub

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ne serait-il pas plus simple de faire ça sans VBA avec la fonction LIEN_HYPERTEXTE() ?
    Lire ceci : https://support.office.com/fr-FR/art...7-7de9b76f577f

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    En reprenant ton code et si les fichiers pdf sont toujours sous la forme xxx_P.pdf

    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
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Chemin As String, Extension As String, Fichier As String
     
    If Target.Count = 1 Then
        If Target.Column = 1 Then
            If Target.Row > 1 Then
                If Trim(Target.Value) <> "" Then
                    Cancel = True
                    Chemin = "H:\DESK\DOC\FICHIER\"
                    Extension = ".pdf"
                    Fichier = Replace(Trim(Target.Value), " ", "_")
                    If InStr(Fichier, "_") = 0 Then Fichier = Fichier & "_P"
                    Fichier = Chemin & Fichier & Extension
                    If Dir(Fichier) <> "" Then
                        ThisWorkbook.FollowHyperlink Fichier, , True
                    Else
                        MsgBox Fichier & " inexistant"
                    End If
                End If
            End If
        End If
    End If
    End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2018
    Messages : 116
    Par défaut
    Super mercatog merci beaucoup ça marche!

    Par contre j'avais juste oublier de préciser que je peux aussi avoir des fichiers en "_P1", en "_P2" etc.
    Comment puis-je faire pour avoir cela en variable ?

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Le début des pdf est il unique?

    Si c'est le cas peu importe les suffixes

    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
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Chemin As String, Extension As String, Fichier As String
     
    If Target.Count = 1 Then
        If Target.Column = 1 Then
            If Target.Row > 1 Then
                If Trim(Target.Value) <> "" Then
                    Cancel = True
                    Chemin = "H:\DESK\DOC\FICHIER\"
                    Extension = ".pdf"
                    Fichier = Replace(Trim(Target.Value), " ", "_")
     
                    Fichier = Dir(Chemin & Fichier & "*" & Extension)
                    If Fichier <> "" Then
                        ThisWorkbook.FollowHyperlink Chemin & Fichier, , True
                    Else
                        MsgBox Fichier & " inexistant"
                    End If
                End If
            End If
        End If
    End If
    End Sub

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2018
    Messages : 116
    Par défaut
    Oui le début des pdfs est la même forme à chaque fois!
    En tout cas ça marche parfaitement, j'étais entrain de me compliquer la vie moi...
    Merci beaucoup

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

Discussions similaires

  1. Plupload gestion des noms de fichiers
    Par silanie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/09/2017, 19h58
  2. [WD15] Chaines de caractères / Nom de FICHIER variable
    Par EriCstoFF dans le forum WinDev
    Réponses: 17
    Dernier message: 29/03/2011, 13h26
  3. Réponses: 9
    Dernier message: 06/03/2007, 10h56
  4. [Upload] Nom de fichier avec un/des caractères accentués ?
    Par Christophe Charron dans le forum Langage
    Réponses: 11
    Dernier message: 09/06/2006, 21h46
  5. [vb excel]Gestion de chaine de caractère et de fichier
    Par shirya dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/10/2005, 09h58

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