Userform ... Boutton validation

Cap_ou_pas_cap

XLDnaute Junior
Bonjour a tous !

Je me retourne vers vous car depuis 1 mois j'essaye de comprendre userform .. je dois pas etre tres doué d'ailleurs ... Je vis donc exposer mon probleme ... j'essaye de creer un userform a partir de donnée d'un tableau dans mon exel, j'ai creer mon formulaire remplie mes combobox avec des code ainsi que mes listeBox (d'ailleurs je voudrais savoir si c'etait possbile de mettre des crois pour pouvais faire selectionner plusieurs choix ?) Puis j'ai creeer un boutton command pour lancer le formulaire mis j'ai l'impression que ca marche pas. Je m'explique je voudrais savoir si c'etait possible en remplissant le formulaire en appuyant avec les diffrents combobox et listebox et en appuyant sur un boutton recherche ou validez qu'il me ressorte a partir de mon tableau exel (tableau des donné donc que j'ai rentree pour faire mon userform) tout les produits qui correspont a partir des donnée de mon formulaire ... je pense que c'etait possible mais ca fait 1semaine que je reste bloque alros je perd un peu espoir ...

Desole si c'est brouillon ..

Cordialement,

Bonne journée

P.J : j'ai creer 1er userfom a partir de la feuille "FP" par la suite j'aimerais en creer plusieurs avec differente donné si cela est realisable.
 

Pièces jointes

  • Logiciel Variante.xls
    243 KB · Affichages: 151
  • Logiciel Variante.xls
    243 KB · Affichages: 159
  • Logiciel Variante.xls
    243 KB · Affichages: 152

Dranreb

XLDnaute Barbatruc
Re : Userform ... Boutton validation

Par exemple cette procédure écrite en 15 seconde a fonctionné du premier coup :
VB:
Sub TestFolH()
ChDrive ThisWorkbook.Path: ChDir ThisWorkbook.Path
ThisWorkbook.FollowHyperlink "File:" & Dir("VBA*")
End Sub
Elle m'a bien ouvert avec Acrobat Reader un fichier PDF situé dans le même dossier que le classeur portant la macro et dont le nom commençait par "VBA"
 

Cap_ou_pas_cap

XLDnaute Junior
Re : Userform ... Boutton validation

Bonjour Dranreb,

J'ai essaye donc j'ai ecrit le code suivant :

Sub TestFolH()
ChDrive ThisWorkbook.Path: ChDir ThisWorkbook.Path
ThisWorkbook.FollowHyperlink "File:" & Dir("Fiche technique*")
End Sub

Car le lien ou doit se trouve le lien hypertexte s'apelle Fiche technique j'ia placé le code dans le classeur pour j'applique la macro donc ou le resultat apparait mais rien aucun resultat quand le clique sur fiche technique le fichier pdf ne suit pas ...

Cordialement
 

Dranreb

XLDnaute Barbatruc
Re : Userform ... Boutton validation

Bonjour.
Mais quand vous exécutez déjà la macro, il s'affiche un Fiche technique.xls ? Ou Fiche technique.pdf ? Ou autre ? Sinon c'est qu'il n'en existe aucun de ce nom dans le dossier où se trouve le classeur.
Si les fichiers peuvent se trouver sur des tas de dossiers différents, le mieux serait de remplacer tous les liens hypertexte de la feuille de départ par la référence complète du fichier.

Cette procédure devrait permettre de faire le plus gros automatiquement :
VB:
Sub SupprimerLiensHT()
Dim LHT As Hyperlink
For Each LHT In ActiveSheet.Hyperlinks
   LHT.Range.Cells(1, 1).Value = LHT.Address
   LHT.Delete
   Next LHT
End Sub
En les éliminant on élimine du coup leurs gros inconvénient qui est de dépendre du dossier du classeur. Combien j'en ai vu se plaindre que leurs liens hypertextes ne fonctionnaient plus après l'avoir changé de place !
 
Dernière édition:

Cap_ou_pas_cap

XLDnaute Junior
Re : Userform ... Boutton validation

Bonjour,


Je n'ai aps encore essayer mais jsute pour vous dire que j'ai bien range les fichier pdf dans tes dossier et sous dossier qui ne bougeront plus donc le lien ne changera pas j'ia deja essayer en enregistrant le travail sur une cle usb et de l'ouvrir sur un nouveau pc et le lien hypertexte marche toujours.

Concernant le nom du fichier effectivement je l'ai change car le chemienment serait beaucoup trop long ... en fait sur mon tableau de base de donne je mets un lien hypertexte sur la colonne A avec le fichier ou je change le nom je mets "Fiche technique" puis quand je retourne dans mon usf je fais valider le resultat il me mets le resultat et sur la colonne A il met bien "Fiche technique" mais sans le lien
 

Dranreb

XLDnaute Barbatruc
Re : Userform ... Boutton validation

Vous n'êtes pas obligé de mettre la référence du fichier en colonne A dans la base de donnée.
Il pourrait y avoir une formule qui renvoie "Fiche technique" seulement si une référence de fichier existe tout à la fin, en colonne X ou Y. Personnellement je préfèrerais qu'il y ait au moins le nom du fichier, mais bon…
Si les fichiers ont une racine commune, elle pourrait être figée dans les macros.
Il serait possible d'installer une nouvelle référence de fichier ou d'en modifier une existante au moyen de la méthode GetOpenFilename. Elle permettrait de le chercher dans l'arborescence des dossiers. Le must serait bien sûr que les noms des sous dossiers et du fichier lui même dépendent de renseignements portés par ailleurs dans la ligne de sorte qu'on pourrait le reconstituer en les examinant.
 

Dranreb

XLDnaute Barbatruc
Re : Userform ... Boutton validation

Bonjour.

Qu'est ce que vous parlez encore de mail ??? Il n'essaye sûrement plus d'envoyer un mail depûis que vous avez remplacé "MailTo:" par "File:" dans la macro et au lieu de Target un truc du genre Target.EntireRow.Columns("ZZ"), ZZ étant l"entête de colonne portant les références des fichiers à ouvrir.
 

Cap_ou_pas_cap

XLDnaute Junior
Re : Userform ... Boutton validation

Bonjour,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 1 Then Exit Sub ' À adapter
On Error Resume Next
ThisWorkbook.FollowHyperlink "File:" & Target.EntireRow.Columns("A")
End Sub

C'set bien ca qu'il faut rentrer ? car rien ne s'effectue je n'ai aucun lien hypertexte qui se produit afin d'ouvrir mon PDF
 

Dranreb

XLDnaute Barbatruc
Re : Userform ... Boutton validation

Ben non, ça, ca ne sert à rien, réfléchissez un tout tout petit peu: on teste si la cellule cible est dans la colonne 1, donc A.
L'intersection de la ligne entière de la cible et de la colonne A est donc toujours la colonne A. C'est la cible, c'est pareil que Target !
Je vous dis de mettre les références des fichiers dans une autre colonne, parce que vous avez dit que vous préféreriez avoir un texte court dans la colonne A. Remarquez, juste le nom du fichier, même sans l'extension, serait peut être assez court, non ? Encore faudrait-il trouver un moyen de savoir dans quel dossier il se trouve. S'ils ont une racine commune on pourrait à la rigueur le chercher dans tous ses dossiers et sous dossiers.
 

Cap_ou_pas_cap

XLDnaute Junior
Re : Userform ... Boutton validation

Quand je dis un texte court c'est que par exemple sur ma base de donnée sur la colonne a je veux mettre un ficher PdF et au lieu d'afficher tout le nom du pacours du dossier je mets jsute "Fiche technique" dans texte a afficher et je voudrais juste que quand je recehrche un resultat le lien suive tout simplement...

Je vous avoue etre perdu la dans les differents code ...
 

Discussions similaires

Réponses
33
Affichages
3 K

Statistiques des forums

Discussions
311 726
Messages
2 081 955
Membres
101 852
dernier inscrit
dthi16088