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 :

Ouvrir un Lien HyperTexte depuis Un userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    chef fabrication
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chef fabrication
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Points : 13
    Points
    13
    Par défaut Ouvrir un Lien HyperTexte depuis Un userform
    Bonsoir,

    Je me permets de solliciter l’aide du forum.

    J’ai un fichier, ci-joint, qui contient un tableau de suivie de bon de commande (N° bon commande - Date - Fournisseur - lien vers le fichier.pdf)
    et j'ai un userForm qui me permet de chercher dans ce tableau
    Le UserForm fonctionne le problème c'est que lorsque il m'affiche le lien vers le fichier il lorsque j'appuie dessus il me renvoie un bug



    Si quelqu'un peut m'aider et laissé le max commentaire sur le code pour que je puisse comprendre et apprendre le VBA
    Merci d'avance
    Haithem
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Que dit ton bug?

    Sinon, par précaution, je ferai comme ceci
    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 Lien_Click()
    Dim Var1 As String, LeLien As String, Num_BC As String
     
    Num_BC = Me.ComboBox1
    Var1 = Format(LaDate, "dd-mm-yyyy")
    LeLien = "C:\Documents and Settings\Administrateur\Bureau\Gest\Commande\Commande\Depot\" & "Bon Cde" & " " & Num_BC & " " & Var1 & ".pdf"
     
    If Dir(LeLien) <> "" Then
        ThisWorkbook.FollowHyperlink LeLien, NewWindow:=True
    Else
        MsgBox "Fichier " & LeLien & " introuvable"
    End If
    End Sub

  3. #3
    Membre à l'essai
    Homme Profil pro
    chef fabrication
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chef fabrication
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Bonsoir

    Merci mercatog pour ton aide et pour ton code

    le problème c'est lorsque je clique sur le lien il m'affiche le msgbox qui contient la variable lien dans la quelle il m'affiche la chaine de caractère "Bon Cde" le nom du fournisseur puis la date puis l'extension .pdf ci-joint la photo

    et le fichier et composé par la chaine de caractère "Bon Cde" Numéro du bon de commande la date puis l'extension

    c'est à dire que la variable Num_BC ne fonctionne pas correctement
    et j'ai pas compris comment ca se fait car la variable Num_BC doit charger le continu du combobox

    Et merci une autre fois
    Haithem
    Images attachées Images attachées  

  4. #4
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Donc, comme j'ai deviné, il faudra vérifier le chemin complet du fichier par rapport à comment est construit dans la variable LeLien

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut heu..
    Bonsoir

    j'ai téléchargé ton zip
    et ouvert ton fichier

    j'ai regarder le code du userform il y a plein de truc a revoir
    par exemple j'ai supprimé tout les noms de plage
    ayant un seul combobox je n'en vois pas l'utilité
    je rempli la combobox comme ca dans le initialise du userform

    comme tu peut le constater je met non seulement la colonne 1 pour les N° Commandes mais je met aussi les autres colonnes
    je règle les largeurs de colonnes afin que l'on voit que les N° dans la combobox

    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
    Private Sub UserForm_Initialize()
     
    'Forcer la position du Userform Ajouter Un Article
       With Me
             .StartUpPosition = 0  'Annule la position centrée
             .Top = 250   'Règle la position  vers le Haut
             .Left = 160  'Règle la position vers la Gauche
     
       End With
    ' Déclaration Des Combobox a l'ouverture du UserForm Pour Charger les listes Déroulante
    ' Chargement liste déroulante Liste N° Bon Intervention
    With ComboBox1
    .Clear
    .ColumnCount = 5
    .ColumnWidths = "70;1;1;1;1"
    .List = Range("A4:d" & Cells(Rows.Count, 1).End(xlUp).Row).Value
    End With
    End Sub
    Pourquoi j'ai tout mis dans la combobox?
    et bien vu que tu bataille pour convertir l'index en ligne pour le sheets autant avoir toutes les données a dispos l'ors du change de la combobox
    ainsi
    dans l'évènement change du combobox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub ComboBox1_Change()
    ligne = ComboBox1.ListIndex
    LaDate = ComboBox1.List(ligne, 1)
        Fournisseur = ComboBox1.List(ligne, 2)
        Lien = ComboBox1.List(ligne, 3)
    End Sub
    beaucoup plus simple non?

    ensuite il me vient une question qui me titille

    ce classeur est il toujours au même endroit ????? c'est a dire dans le dossier que tu a zipper

    si c'est le cas il te serait très facile de reconstruire le chemin complet puisque dans les colonnes 1 et 2 tu a les éléments du nom le reste avec la fonction environ te donnerait le chemin dossier
    voir avec par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "thisworkbook.path  & "dossier/sousdossier/"
     
     
    tu pourrais ainsi te déplacer avec ce dossier partout et sur n'importe quel ordinateur ca fonctionnerait
    répond a mes questions et on verra

Discussions similaires

  1. [XL-2013] Activer un lien hypertexte depuis un bouton dans un Userform VBA
    Par ami18noam dans le forum Excel
    Réponses: 2
    Dernier message: 21/08/2013, 21h30
  2. [XL-2010] probléme pour ouvrir lien hypertext depuis commandbutton
    Par omer76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/05/2012, 09h42
  3. Ouvrir un lien hypertext avec un navigateur spécifique
    Par sam&meuh dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/11/2007, 13h21
  4. lien hypertexte depuis"parcourir"
    Par NicolasMO dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/09/2007, 21h38
  5. importer des liens hypertextes depuis excel
    Par maywen dans le forum Access
    Réponses: 1
    Dernier message: 30/03/2007, 22h52

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