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

C'est dans la fenêtre de propriété, généralement la 1ère (Name)
En changeant ListBox1 en LbxSélect, voici un code complet possible pour tout l'userform :
VB:
Option Explicit
Dim WithEvents CL As ComboBoxLiés
Dim TLgn() As Long

Private Sub UserForm_Initialize()
Set CL = New ComboBoxLiés
CL.CorrespRequise = True
CL.Plage Feuil3.Rows(3)
CL.Add Me.ComboBox1, "F"
CL.Add Me.ComboBox2, "E"
CL.Add Me.ComboBox3, "N"
CL.Add Me.ComboBox4, "G"
CL.Add Me.ComboBox5, "J"
CL.Add Me.ComboBox6, "M"
CL.Add Me.ComboBox7, "H"
CL.Add Me.ComboBox8, "K"
CL.Actualiser
End Sub

Private Sub CL_Change(ByVal Complet As Boolean, ByVal NbrLgn As Long)
If NbrLgn = 0 Then LbxSélect.Clear: ReDim TLgn(0 To 0): CommandButton1.Enabled = False
End Sub

Private Sub CL_Résultat(Lignes() As Long)
Dim Te(), Le&, Ts(), Ls&, C&
TLgn = Lignes
Te = CL.PlgTablo.Resize(, 15).Value
ReDim Ts(0 To UBound(TLgn) - 1, 0 To 14)
For Ls = 0 To UBound(Ts, 1)
   Le = Lignes(Ls + 1)
   For C = 0 To UBound(Ts, 2)
      Ts(Ls, C) = Te(Le, C + 1)
      Next C, Ls
Me.LbxSélect.List = Ts
CommandButton1.Enabled = False
End Sub

Private Sub LbxSélect_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim N&
For N = 0 To LbxSélect.ListCount - 1
   If LbxSélect.Selected(N) Then CommandButton1.Enabled = True: Exit Sub
   Next N: CommandButton1.Enabled = False
End Sub

Private Sub CommandButton1_Click()
Dim Te(), Le&, Ts(), Ls&, C&, N&, Cible As Range
Te = CL.PlgTablo.Resize(, 15).Value
ReDim Ts(1 To 500, 1 To 15)
For N = 0 To LbxSélect.ListCount - 1
   If LbxSélect.Selected(N) Then
      Le = TLgn(N + 1): Ls = Ls + 1
      For C = 1 To 15: Ts(Ls, C) = Te(Le, C): Next C
      End If: Next N
Set Cible = PlgUti(Feuil1.[A1])
Cible.Offset(Cible.Rows.Count).Resize(Ls, 15).Value = Ts
End Sub
 

Cap_ou_pas_cap

XLDnaute Junior
Re : Userform ... Boutton validation

Merci beaucoup,

Effectivement cela fonction !!!

Je me demandais si il etait possible quand on valide le resultat et qu'il s'affiche sur la feuille l'exel d'obtenir aussi un lien hypertexte qui est donné dans base de depart car la il me mets juste le nom du lien mais je peuxp as y acceder je sais pas si cela ma qusetion est clair
 

Dranreb

XLDnaute Barbatruc
Re : Userform ... Boutton validation

Oui :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> ? Then Exit Sub ' À adapter
On Error Resume Next
ThisWorkbook.FollowHyperlink "MailTo:" & Target.Value
End Sub
À tester
 

Cap_ou_pas_cap

XLDnaute Junior
Re : Userform ... Boutton validation

D'accord Merci,

Je viens de l'essayer rien ne se produit je sais pas si je l'ai bien ecrit par exemple a la place devre ? j'ia A car le lien et ratttaché a celle la.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> A Then Exit Sub ' À adapter
On Error Resume Next
ThisWorkbook.FollowHyperlink "MailTo:" & Target.Value
End Sub
 

Dranreb

XLDnaute Barbatruc
Re : Userform ... Boutton validation

Mettez en commentaire le On Error Resume Next, qu'on voit quelle erreur se produit.
Vous avez naturellement bien compris que ça se met dans le module de la feuille, pas ailleurs ?
Ni dans un module ordinaire, ni dans l'Userform bien évidemment !
Le mieux c'est peut être depuis Excel de faire un clic droit sur l'onglet et: Visualiser le code.
 
Dernière édition:

Cap_ou_pas_cap

XLDnaute Junior
Re : Userform ... Boutton validation

D'accord sauf que par exemple ! dans mon tableau de base de mets le lien hypertexte que je nomme Fichier qui est censé ouvrir un document. Qaund j'applique le code il m'envoie un mail avec destinaire le mot Fichier et en aucun cas je ne vois pas le lien hypertexte
 

Dranreb

XLDnaute Barbatruc
Re : Userform ... Boutton validation

Je suis tellement hostile aux lien hypertextes dans les feuilles que je ne vous le dirai pas. Essayez en mettant "File:" au lieu de "MailTo:", voire rien, je ne savais pas que c'était une référence de fichier.
 

Discussions similaires

Réponses
33
Affichages
3 K

Statistiques des forums

Discussions
311 720
Messages
2 081 898
Membres
101 834
dernier inscrit
Jeremy06510