Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

question combobox

  • Initiateur de la discussion Initiateur de la discussion jeannot68
  • 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 !

jeannot68

XLDnaute Occasionnel
Débutant en vba , j ai réussi Avec l'aide de plusieurs d'entre vous a mettre en application mon début de programme. je cherche toutefois a réaliser quelques modifs.

1/ Peut on faire apparaitre le curseur directement dans ma combobox (onglet RECHERCHE)?

2/ actuellement ma liste comporte les donées qui se trouvent dans les onglets commencant par IO et se trouvant dans les colonnes B. mais je souhaiterai pque pour les onglet commencant par IO et finissant par PROVOX on recherche les valeur de la colonne D

3/ peut on classer l'ensemble de ces données par ordres alphabétique et est il possible qu'une liste soit proposé apres la saisi de la premiere lettre. si je tape A la liste propose que les valeurs qui commencent par A?

Merci de votre aide
 

Pièces jointes

Re : question combobox

Bonjour Jeannot68, salut mon cher Modo 😉

1/ Peut on faire apparaitre le curseur directement dans ma combobox (onglet RECHERCHE)?
A ma connaissance, ce n'est pas possible !
On peut donner le focus sur l'objet mais c'est tout

Ok, avec en plus le tri par ordre alphabétique (ce qui répond en parti à ta demande 3)
Code:
Private Sub IniCbo1()
  Dim Ws As Worksheet, MonDico As Object, Temp(), Cel As Range
  ComboBox1.Clear
  ' Définir un nouveau dictionnaire
  Set MonDico = CreateObject("Scripting.Dictionary")
  ' Pour chaque feuille du classeur
  For Each Ws In Worksheets
    ' Si le début du nom de la feuille commence par "IO"
    If Left(Ws.Name, 2) = "IO" Then
      ' Si la fin du nom de la feuille se termine par "PROVOX"
      If Right(Ws.Name, 6) = "PROVOX" Then
        With Ws
          ' On trie la colonne D
          .Range("A1").Sort Key1:=.Columns("D"), Header:=xlGuess
          ' Pour chaque cellule de cette colonne
          For Each Cel In .Range("D2:D" & .Range("D65536").End(xlUp).Row)
            ' Si la valeur de la cellule n'est pas vide
            If Cel <> "" Then
              ' On ajoute la valeur au DICO = valeur unique
              If Not MonDico.Exists(Cel.Value) Then MonDico.Add Cel.Value, Cel.Value
            End If
          Next Cel
        End With
      Else
        ' Sinon si la feuille ne se termine pas par "PROVOX"
        With Ws
          ' On trie la colonne B
          .Range("A1").Sort Key1:=.Columns("B"), Header:=xlGuess
          ' Pour chaque cellule de cette colonne
          For Each Cel In .Range("B2:B" & .Range("B65536").End(xlUp).Row)
            ' Si la valeur de la cellule n'est pas vide
            If Cel <> "" Then
              ' On ajoute la valeur au DICO = valeur unique
              If Not MonDico.Exists(Cel.Value) Then MonDico.Add Cel.Value, Cel.Value
            End If
          Next Cel
        End With
      End If
    End If
  Next Ws
 
  ReDim Temp(MonDico.Count)
  Temp = MonDico.items
  Call Tri(Temp, LBound(Temp), UBound(Temp))
  ComboBox1.List = Temp
End Sub
Sub Tri(a, Gauc, Droi)   ' Quick sort
  ref = a((Gauc + Droi) \ 2)
  g = Gauc: d = Droi
  Do
    Do While a(g) < ref: g = g + 1: Loop
    Do While ref < a(d): d = d - 1: Loop
    If g <= d Then
      Temp = a(g): a(g) = a(d): a(d) = Temp
      g = g + 1: d = d - 1
    End If
  Loop While g <= d
  If g < Droi Then Call Tri(a, g, Droi)
  If Gauc < d Then Call Tri(a, Gauc, d)
End Sub

est il possible qu'une liste soit proposé apres la saisi de la premiere lettre. si je tape A la liste propose que les valeurs qui commencent par A?
Il me semble avoir déjà vu ça sur le forum 😉

A+
 
Re : question combobox

Re,

Enlève la ligne ou met là en commentaire
Code:
Private Sub ComboBox1_DropButtonClick()
  [COLOR=red][B]'If ComboBox1.ListCount > 0 Then Exit Sub
[/B][/COLOR]  IniCbo1
End Sub
Et teste de nouveau 😉

A+
 
- 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
4
Affichages
1 K
Réponses
22
Affichages
2 K
  • Question Question
Microsoft 365 vba
Réponses
14
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…