XL 2010 filtre intuitif |CLOS]

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
J'ai retrouvé un fichier ou j'appliquais un filtre intuitif dans un combobox basé sur la col A , cela fonctionne , au fur et à mesure de la frappe du code la liste se restreint
Maintenant Je suis en train d'essayer de l'adapter à un nouveau fichier avec selection en Col D mais cela ne fonctionne pas ???
quelle est mon erreur ?
merci
 

Pièces jointes

  • test_filtre.xlsm
    77.6 KB · Affichages: 15

vgendron

XLDnaute Barbatruc
Bonjour

je ne vois pas le problème..
la saisie semi automatique du combobox fonctionne.. au fur et à mesure de la saise, la liste du combo est filtrée
mais après tu parles de selection en col D..?? ou ca?? il n'y a rien dans ta colonne D
 

herve62

XLDnaute Barbatruc
Supporter XLD
Merci bien @vgendron
Ben oui .... mais tu as quand même fait des modif. ? et mon fichier était pour entrer des données de A pas de D !! que je n'arrive pas à adapter ??
c'est quoi : Sheets("PDF").ListObjects("Tab_PDF") ??? Tab_PDF je vois pas y
Sinon il y a bien des données en col D ( N° de coulée) non ?? et c'est avec ça qu'il faut entrer dans la combo
 

Pièces jointes

  • test_filtreVG.xlsm
    76.6 KB · Affichages: 4

vgendron

XLDnaute Barbatruc
le tableau structuré, c'est le tableau de données de ta feuille PDF
je l'ai appelé Tab_PDF
ensuite, pour alimenter le combo sur la colonne D, il suffit de choisir la bonne colonne dans le code

regarde: j'y ai mis des commentaires
et je charge une liste SANS doublon
 

Pièces jointes

  • test_filtreVG.xlsm
    78.3 KB · Affichages: 12

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
encore merci , j'apprends toujours pour certaines instructions que je n'utilise jamais
Par contre je n'ai pas le résultat de l'intuitif attendu ?
normalement il n'y a pas de doublon ( à 1 détail près) et comme expliqué dans la vidéo, pour l'exemple en commençant à taper T21 je devrais voir dans la liste combo et tableau les lignes 21 à 26
Enfin le tableau PDF devrait rester affiché entier ce n'est qu'un bout de données et j"ai encore du traitement
Si la méthode getfocus n'est pas idéale pour alimenter ce que je pense aussi on peut changer
 

Pièces jointes

  • filtre.zip
    347.3 KB · Affichages: 5

vgendron

XLDnaute Barbatruc
il suffit de regarder le code (et les commentaires) pour identifier les modifs à faire
pour savoir quel filtre utiliser, je suis passé par l'enregistreur de macro.
VB:
Private Sub ComboBox1_Change()
If Not EnableEvents Then Exit Sub
UsedRange.Offset(2, 0).Delete 'on efface la feuille
[G2] = Me.ComboBox1 'on place l'élément selectionné en G2 (on pourrait s'en passer
If [G2] = "" Then [G2] = " " 'pourquoi mettre un espace??

'Me.ComboBox1.List = Filter(choix, [G2], True, vbTextCompare)
'Me.ComboBox1.DropDown

With Sheets("PDF").ListObjects("Tab_PDF") 'avec le tableau structuré de la feuille
    .Range.AutoFilter Field:=4, Criteria1:=[G2] & "*" 'on applique le filtre SUR la colonne 4 (D)
    .Range.SpecialCells(xlCellTypeVisible).Copy Destination:=[A2] 'on colle le résultat
    .Range.AutoFilter 'on désactive le filtre
End With
End Sub
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Plus compliqué que prévu , j'essaye d'adapter au fichier de base pour la suite mais cela ne fonctionne pas
normalement je sais "debugger" mais pas dans ce cas là ??
J'ai bien défini le tableau "Tab_PDF" non ??? le with plante ??
 

Pièces jointes

  • CCPU en stock_v2.xlsm
    76.5 KB · Affichages: 3

vgendron

XLDnaute Barbatruc
Bonsoir

Non ton tableau n'est pas bien défini
tu es passé par le gestionnaire de nom et dans ton fichier, Tab_PDF est une plage nommée
ce n'est pas la meme chose qu'un tableau structuré

1) supprime Tab_PDF dans le gestionnaire de nm
2) clic dans le tableau
3) acceuil / mettre sous forme de tableau...
 

laurent950

XLDnaute Barbatruc
Bonjour,

Feuille PDF :
Colonne A :
choix = Application.Transpose(f.Range("A2:A" & f.[A65000].End(xlUp).Row).Value)
Colonne D :
choix = Application.Transpose(f.Range("D2:D" & f.[D65000].End(xlUp).Row).Value)

Ci-dessous Modifier pour la colonne D de la feuille PDF
VB:
Private Sub ComboBox1_GotFocus()
  Set f = Sheets("PDF")
  choix = Application.Transpose(f.Range("D2:D" & f.[D65000].End(xlUp).Row).Value)
  Me.ComboBox1.List = choix
End Sub
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
Merci Laurent , mais tout commence à se mélanger
@vgendron : j'ai su,pprimé la plage , selectionné le tableau > transformer .......
mais cela ne fonctionne toujours pas ? ( joint V2)

En fait ce que je voulais faire c'est comme ce fichier d'il y a bien longtemps !!! 🤔
Ex : je commence à taper 0 , 0 0 8 , 2 et comme il ne reste que 000822 ( 2) ils s'affichent
La seule chose qui doit changer c'est de passer en filtre D et plus A ( joint exemple ....suite.xlsm)
Je continue à approfondir pour comprendre , je n'ai jamais buté comme ça , !! mais passez d'expérience sur ce sujet
Bon WE à vous
 

Pièces jointes

  • CCPU en stock_v2.xlsm
    76.9 KB · Affichages: 3
  • Filtre_VBA_suite.xlsm
    315.7 KB · Affichages: 6

laurent950

XLDnaute Barbatruc
Bonjour @herve62

Dans votre Classeur CCPU en stock_V2

Il faut corriger cette ligne :
choix = .ListColumns("N° de coulée").DataBodyRange 'on charge TOUTE la colonne "N° de coulée"
choix = .ListColumns(" N° de coulée").DataBodyRange 'on charge TOUTE la colonne "N° de coulée"

1665225525653.png

C'est pour comprendre que le titre de cette colonne n'est pas interpréter par VBA car
Dans votre tableau structuré : Tab_PDF
la colonne N° de coulée est écrite avec beaucoup d'espace devant N° de coulée
Alors écrire à l'identique les entête de colonne Excel et Les variables en VBA

Laurent
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
Il me semble Qu 'Herve n'utilise pas les outils prévus pour Centrer et aligner le Texte d'une cellule
Il utilise des espaces !
à voir donc à utiliser ces Outils présents dans la barre "Accueil" puis les rubriques présentes dans "Alignement"
Bonne continuation
Jean marie
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Mis à part les espaces en début de nom de colonne, et le fait que la ComboBox ne reste pas sur la valeur qu'on est en train de saisir mais se place automatiquement sur le premier item correspondant à la saisie en cours, il y a aussi le problème du filtrage du tableau qui se fait bien sur les lignes contenant du texte mais pas sur les lignes ne contenant que des nombres.

Toutefois, si on force la saisie des nombres en texte, ça semble fonctionner.
 

Discussions similaires

Réponses
12
Affichages
606
  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
699
Réponses
15
Affichages
801

Statistiques des forums

Discussions
314 492
Messages
2 110 190
Membres
110 695
dernier inscrit
fabriceseka