Doublons dans userform

  • Initiateur de la discussion Initiateur de la discussion Mapat
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mapat

XLDnaute Occasionnel
Bonjour

J'essaie de me faire un fichier pour une collection de capsules de champagne.
J'ai une page données, et sur la 2ème j'ai un bouton pour appeler un userform.
Sur cet userform, un combobox qui recherche le nom des propriétaires.
Beaucoup de propriétaires ont dans leur production plusieurs sortes de produits et donc plusieurs sortes de capsules.
Je voudrais qu'après avoir choisi le propriétaire, le choix se fasse par le numéro et là , je bloque.
Sur mon userform, j'ai un webBrowser qui me permet d'avoir la photo de la capsule recherchée. Les photos étant placées dans le même dossier que mon fichier xls.
Je joint ci-dessous mon code car mon fichier est trop lourd pour passer sur le forum

Option Explicit

Private Sub CommandButton1_Click()
Call Donnees
Unload Me
End Sub

Private Sub Couleur_Change()

End Sub

Private Sub Frame1_Click()

End Sub

Private Sub J_ai_Change()

End Sub

Private Sub Buts_Change()

End Sub

Private Sub Nom_Change()

End Sub

Private Sub Description_Change()

End Sub

Private Sub Cote_Change()

End Sub

Private Sub J_ai_en_double_Change()

End Sub

Private Sub Code_Change()

End Sub



Private Sub Pays_Change()

End Sub

Private Sub Numero_Change()

End Sub

Private Sub Poste_Change()

End Sub

Private Sub Recherche_Change()

Dim Photo As String

With Feuil1
Nom = .Range("A" & Recherche.ListIndex + 2)
Code = .Range("B" & Recherche.ListIndex + 2)
Couleur = .Range("C" & Recherche.ListIndex + 2)
Description = .Range("D" & Recherche.ListIndex + 2)
Cote = .Range("E" & Recherche.ListIndex + 2)
J_ai = .Range("G" & Recherche.ListIndex + 2)
J_ai_en_double = .Range("I" & Recherche.ListIndex + 2)
Photo = .Range("J" & Recherche.ListIndex + 2)
End With

WebBrowser1.Navigate ThisWorkbook.Path & "\" & Photo


End Sub


Private Sub Label5_Click()

End Sub

Private Sub Label6_Click()

End Sub

Private Sub Sortie_Click()
Unload Me
End Sub

Private Sub TextBox1_Change()

End Sub



Private Sub TextBox2_Change()

End Sub

Private Sub UserForm_Initialize()
TextBox1.Value = [Data!K6000].Value
If [Data!K6000] = """" Then CheckBox1 = True

Dim Boucle As Integer
Dim Ligne As Integer

With Feuil1
Ligne = .Range("A65536").End(xlUp).Row
For Boucle = 2 To Ligne
Recherche.AddItem .Range("A" & Boucle)
Next Boucle
End With

End Sub


Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)

End Sub
 
Re : Doublons dans userform

Bonjour Mapat,

Ca manque cruellement d'info 😕, donc voici une façon de faire pour remplir un combo sans doublon.

Sur la feuille 1:
En colonne A, à partir de A2 les propriétaires. (Combobox1 dans le code)
En colonne B, à partir de B2 les codes des capsules. (Combobox2 dans le code)

Code d'initialisation du USF :
Code:
Private Sub UserForm_Initialize()

Dim Collec As New Collection
Dim Cell As Range, Itm As Long

With Sheets("Feuil1")

  For Each Cell In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
    On Error Resume Next
    Collec.Add Cell, CStr(Cell)
    On Error GoTo 0
  Next
  
  For Itm = 1 To Collec.Count
      ComboBox1.AddItem Collec.Item(Itm)
  Next
  
End With

End Sub

Code pour alimenter le Combobox2 quand tu sélectionnes un élément dans le Combobx1

Code:
Private Sub ComboBox1_CLick()
Dim Tablo, k As Long

ComboBox2.Clear
With Sheets("Feuil1")
  Tablo = .Range("A2:B" & .Range("A65536").End(xlUp).Row)
  For k = 1 To UBound(Tablo)
    If ComboBox1 = Tablo(k, 1) Then ComboBox2.AddItem Tablo(k, 2)
  Next
End With

End Sub

Voilà, si j'ai bien compris ta demande.

A+
 
Re : Doublons dans userform

re

Merci bqtr pour ton aide
Je me doute bien que pour qu'il manque des explications mais j'ai essayé en passant par ci-joint et ça ne marche pas (fichier trop lourd) ? 140 Ko zippé ...
Le code fonctionne mais je suis perdu pour faire fonctionner le webBrowser
 
Re : Doublons dans userform

Bonsoir,

Avec Dictionnary (+ rapide)

Code:
Private Sub UserForm_Initialize()
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each c In Range(Sheets("feuil1").[A2], Sheets("feuil1").[A65000].End(xlUp))
   If Not MonDico.Exists(c.Value) And c.Value <> "" Then MonDico.Add c.Value, c.Value
  Next c
  Me.ComboBox1.List = MonDico.items
 End Sub

JB
 
Re : Doublons dans userform

Re,

Pourquoi tu n'utilises pas le contrôle Image qui est plus facile à manipuler que le WebBrowser.

Voici un exemple, pour que cela fonctionne il faut que dans le même dossier que le fichier tu aies les images au format ".jpg" et avec le même nom que dans la colonne B
Ex A10.jpg

Si tu as plusieurs extensions (bmp, jpg ...) pour tes images il faudra modifier la façon de faire.

A+
 

Pièces jointes

Re : Doublons dans userform

Bonjour

Merci à vous de toutes ces réponses
J'essaie d'adapter l'exemple de btqr. La visualisation de chaque image fonctionne bien.
Par contre j'essaie de modifier pour que toutes mes infos apparaissent
Seule "couleur" fonctionne.
Si je mets le même genre de progamation pou les autres ça plante...
J'ai joint ma modif
Merci
 

Pièces jointes

Re : Doublons dans userform

Bonjour,

Je vois que tu y es arrivé, comme j'ai fait les modifs je mets quand même le fichier.

Le Comobobx2 a deux colonnes (la deuxième est masquée, largeur "0").
Le N° de ligne des capsules est mise dans cette deuxième colonne.

Bon dimanche
 

Pièces jointes

Re : Doublons dans userform

Bonjour le forum, bonjour bqtr 😱

J'ai ouvert ton fichier joint dans ton dernier message, et une question (simple) me turlupine :

Dans ton userform, il y a un combobox (zone de liste modifiable) qui présente à sa droite un petit carré comportant trois petits points.
Les combobox que je crée comportent à leur droite un petit triangle.

Où as-tu déniché ces combobox ? 😕

Merci d'avance.

A+

JB
 
Re : Doublons dans userform

Bonjour 13GIBE59,

Regarde dans les propriétés du Combobox.
La propriété DropButtonStyle te permet de modifier l'aspect du Combobox.
Tu as 4 possibilités, sélectionne la propriété et appuis sur la touche F1 pour accéder à l'aide VBA.

A+
 
Re : Doublons dans userform

Bonjour,

Un grand merci à btqr pour ton aide.
Je me permet de te demander quelques précisions
Çà va peut-être paraître cucul comme question mais ou se trouve le contrôle image dans la boite à outils ?
Et j'aurais encore un petit service pour paufiner l'apparence :
est-il possible de colorer les textBox par rapport à une réponse ?
Réponse "oui" :Texbox en jaune par ex.
Réponse "non": pas de couleur
 
Re : Doublons dans userform

Bonjour,

Voici la modif pour la couleur, j'ai rajouté une macro "CoulTextbox" qui prend comme argument la valeur de la colonne G.
Si "OUI" alors couleur jaune, sinon pas de couleur.

Pour le contrôle Image, c'est le petit carré avec une montagne et petit rond en haut et à droite en guise de soleil. Le même mais en noir et blanc que celui qui se trouve au dessus de la fenêtre ou tu rédiges tes messages sur le forum. (en dessous de la flêche bleu de retour à gauche)

A+
 

Pièces jointes

Re : Doublons dans userform

Re

Merci beaucoup de toutes ces réponses
Mon userform est bien plus agréable et pratique
Ce forum est un endroit assez unique sur le net

Bon après midi à tous et en particulier à btqr pour son aide précieuse
 
Re : Doublons dans userform

Bonjour

En entrant les données, je me rends comte qu'à l'usage, lorsqu'il faudra entrer une modif, ça serait bien de pouvoir le faire avec l'userform.
J'ai essayé de rajouter deux textbox et un bouton de validation pour modifier les colonnes F et H ( lorsque je deviens possesseur d'une nouvelle capsule), mais sans succès
Alors je reviens sur le forum pour un nouveau coup de main.

Lorsque j'ai une capsule dans ma collection, tous les textbox se colorent en jaune. est-il possible de ne colorer que ceux ou la réponse est "oui", "non"

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
201
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
285
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
361
Réponses
4
Affichages
177
Réponses
3
Affichages
665
Retour