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

Usedrange [CLOS]

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 !

herve62

XLDnaute Barbatruc
Bonjour
Comment faire , si l'on veut utiliser UsedRange lorsque ce n'est pas
ActiveSheet car mon USF est en feuille Start , et les données en Feuille 1 ?
J'ai testé Sheets("xxxx").Usedrange .... et j'ai erreur
Merci
 
Dans l'exemple trouvé j'ai ça :
Code:
Private Sub ChargeCombobox(sFiltre)
    ComboBox1.Clear
    For l = 1 To ActiveSheet.UsedRange.Rows.Count
        If Cells(l, 1).Text Like "*" & sFiltre & "*" Then
            ComboBox1.AddItem Cells(l, 1).Text
        End If
    Next l
End Sub
Et moi ACTIVESheet est "Annu" la plage exemple est Juste A de 1 à 20
Mon tableau lui , est de A2 à D200 et la recherche est en D
c'est pour faire de la Recherche intuitive
 
Bonjour Hervé, Bertrand, le Forum

Hervé: si tu fait appel à une seule colonne, quel interêt à utiliser UsedRange ou CurrentRegion ??? 🙄

derlig = Sheets("Annu").Cells(Rows.Count, 1).End(xlUp).Row
With Combobox1
.Clear
for i = 2 to derlig
If Sheets("Annu").Cells(i, 1).Text Like "*" & sFiltre & "*" Then
.AddItem .Cells(i, 4).Text
End If
Next i
End With

Et tu ne doit pas mettre ActiveSheet si la feuille active est autre que Sheets("Annu") .

EDIT: regarde dans le fichier joint, si c'est ça que tu cherche à faire.
 

Pièces jointes

Dernière édition:
Slt Lone wolf
En gros je cherchais à lister ( un peu comme les pages jaune ) tu commence à taper et au fur et à mesure cela t'affiche ce qui se rapproche le plus
selon ce qui est dans ta liste ex pour une ville : ca afficherait Cabourg , Cahors , Calais ; là soit tu selectionnes soit tu continues cah et tu n'as plus que CAHORS
Dans un exemple ( de JB ou je sais plus ? ) ce n'était qu'une colonne mais la box dans la feuille
Sinon comme expliqué moi c'est une autre feuille j'ai supprimé ACTIVESHEET et avec sheets(nom) cela ne va plus
j'ai donc mis End(XlUp) mais encore le sFiltre est vide , j'ai rajouté : sFiltre = combobox1.text
je mets le fichier que je viens de tenter de modifier pour comprendre ....mais c'est pas mieux
 

Pièces jointes

Bonjour.

J'ai fait ça quant à moi :
VB:
Option Explicit
Option Compare Text
Private PlgDon As Range, TLgn() As Long

Private Sub UserForm_initialize()
Set PlgDon = Feuil1.Range(Feuil1.[A2], Feuil1.Cells(&H100000, "D").End(xlUp))
End Sub

Private Sub ComboBox1_Change()
Dim TDon(), L As Long, N As Long, Filtre As String
If ComboBox1.ListIndex = -1 Then
   Filtre = "*" & ComboBox1.Text & "*"
   ComboBox1.Clear
   TDon = PlgDon.Columns(4).Value
   N = -1
   For L = 1 To UBound(TDon, 1)
      If TDon(L, 1) Like Filtre Then
         N = N + 1: ReDim Preserve TLgn(0 To N): TLgn(N) = L
         ComboBox1.AddItem TDon(L, 1): End If: Next L
Else
   Application.Goto PlgDon.Rows(TLgn(ComboBox1.ListIndex))
   End If
End Sub
 
Slt Dranreb
Je pige pas , ça donne ça dans le fichier ; rien ne se passe dans l' USF , il faudrait que cela s'affiche dans la liste ( plus de feuille excel)
car ensuite , j'ajouterais une Box qui ne mettre QUE le N° de Tel
 

Pièces jointes

Comment ça rien ne se passe ?
si je tape "et" puis que je demande la liste elle affiche "Baudelet" et "Bernadette Paque"
Ce n'est pas ce qu'il fallait ?

Remarque: ou peut ajouter ces instructions dans la UserForm_Initialize pour que la liste soit garnie au départ.
VB:
ComboBox1.Text = "*"
ComboBox1.ListIndex = -1

Edit: Je parle de la liste de la ComboBox bien sûr. La ListBox que vous avez ajouté, je ne sais pas à quoi elle sert.

Edit 2: Après ajout d'un Label nommé LabCode :
VB:
Private Sub ComboBox1_Change()
Dim TDon(), L As Long, N As Long, Filtre As String
If ComboBox1.MatchFound Then
   L = TLgn(ComboBox1.ListIndex)
   LabCode.Caption = PlgDon(L, 1).Value
'   Application.Goto PlgDon.Rows(L)
Else
   Filtre = "*" & ComboBox1.Text & "*"
   ComboBox1.Clear
   TDon = PlgDon.Columns(4).Value
   N = -1
   For L = 1 To UBound(TDon, 1)
      If TDon(L, 1) Like Filtre Then
         N = N + 1: ReDim Preserve TLgn(0 To N): TLgn(N) = L
         ComboBox1.AddItem TDon(L, 1): End If: Next L
   LabCode.Caption = ""
   End If
End Sub
 
Dernière édition:
La ListBox que vous avez ajouté, je ne sais pas à quoi elle sert.
Justement elle sert à lister et réduire les noms au fur et à mesure de l'entrée en Combo
Je remets à nouveau ( voir #8) :
ex pour une ville : ca afficherait Cabourg , Cahors , Calais ; là soit tu selectionnes soit tu continues cah et tu n'as plus que CAHORS
Je commence à entrer dans la Combo : C > la liste affiche les 3 villes ci-dessus , puis CA > toujours 3 , ensuite CAH et là il n'y a plus que CAHORS dans ma LISTBOX
Ok ?
 
Bonsoir tous
Merci LONE Wolf .. on se rapproche ( j'avais cherché aussi chez JB mais pas trouvé ce truc )
je vais essayer de l'adapter car il me faut un USF au départ
J'ai retrouvé un autre truc .. il y a aussi la variable sFiltre ??
je le joins , avec l'image le style/genre d'USF que je souhaiterais avoir
-On commence à taper ( dans mon fichier la société est en feuille1 , rappel : On est en START)
-les options s'affichent ( la listbox)
-On en selectionne 1
- Le N° de Tel s'affiche ( dans Box du resultat)
Je pense qu'en explications et pièces jointes ... dur de faire mieux ??
 

Pièces jointes

Dernière édition:
- 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
12
Affichages
375
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…