Usedrange [CLOS]

herve62

XLDnaute Barbatruc
Supporter XLD
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
 

herve62

XLDnaute Barbatruc
Supporter XLD
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
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Hervé, Bertrand, le Forum

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

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

  • Classeur4.xlsm
    17.8 KB · Affichages: 50
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
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

  • intuitiv2.xlsm
    23.7 KB · Affichages: 43

Dranreb

XLDnaute Barbatruc
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
 

Dranreb

XLDnaute Barbatruc
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:

herve62

XLDnaute Barbatruc
Supporter XLD
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 ?
 

herve62

XLDnaute Barbatruc
Supporter XLD
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

  • intuitive_type.xlsm
    29.1 KB · Affichages: 46
  • intui2.jpg
    intui2.jpg
    30.8 KB · Affichages: 40
Dernière édition:

Discussions similaires

Réponses
8
Affichages
461

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 868
dernier inscrit
pierreselo33