Filtre automatique dans Macro mais du type "colonne contient"

Le
mclain
Sub Sorti_FOR1()
'
'
'
Range("C3").Select
Selection.Copy
Sheets("Sorti Formation").Select
Selection.AutoFilter Field:=20, Criteria1:=Sheets("Analyse").Range("E12=
").Value, Operator:=xlAnd
End Sub

Voila, mon problème, mon champ de filtre en colonne 20, comporte plusi=
eurs type d'info du genre :
12345 - Formation xxx
12345 - Formation wxc
12365 - Formation utyu


or avec cette formule, si je sélectionne mon critère dans mon TDB=
, cellule E12, si je tape 12345 le résultat du filtre est vide car =
je veux qu'il recherche en fait CONTIENT 12345

je voudrais que le contenu de la cellule E12 soit interpretée comme =
="*E12*" pour finalement affichée les valeurs recherchées

Du coup, je me pose une autre question :

Peut-on ne pas afficher le critère de filtre dans la liste obtenue pou=
r ne pas défiltrer le résulat ?

Sachant que j'ai ajouté d'autres filtres selon les résultas que j=
e veux obtenir ?


MichD, j'avais adapté cette macro que tu m'avais crées :)

Merci d'avance !

Mclain
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26534499
Bonjour,
Voici ce que j'ai compris:
Dans cette cellule, tu veux saisir seulement la partie numérique comme
critère. Exemmple : 12345 et obtenir toutes les formations débutant par
ce nombre.
Dans le code suivant, remplace "Range("A1:A10") par l'étendue de la
plage de cellule sur laquelle tu effectues le filtre. Je suppose que ta
plage a au moins 20 colonnes puisque ton critère est basé sur la colonne 20.
'--------------------------------
Sub test()
Dim Crit As String
Crit = Sheets("Analyse").Range("E20").Value & "*"
With Sheets("Sorti Formation")
.Range("A1:A10").AutoFilter Field:=1, Criteria1:=Crit
End With
End Sub
'--------------------------------
Au lieu d'actionner le code par un bouton, inscrit le code suivant dans
le module de la feuille "Analyse" - clic droit sur l'onglet de la
feuille et utilise la commande "Visionner le code". Copie le code dans
la page blanche. Dès que tu saisiras un code numérique et que tu
valideras le contenu de la cellule E12 de la feuille analyse, le filtre
s'appliquera automatiquement sur la "Sorti formation".
Comme l'autre procédure, tu dois adapter la plage A1:A10 pour celle de
ton application.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Crit As String
If Target.Address = Range("E12").Address Then
Crit = Target.Value & "*"
With Sheets("Sorti Formation")
.Range("A1:A10").AutoFilter Field:=1, Criteria1:=Crit
End With
End If
End Sub
'-------------------------------
MichD

Le 30/12/19 à 17:47, a écrit :
Sub Sorti_FOR1()
'
'
'
Range("C3").Select
Selection.Copy
Sheets("Sorti Formation").Select
Selection.AutoFilter Field: , Criteria1:=Sheets("Analyse").Range("E12").Value, Operator:=xlAnd
End Sub
Voila, mon problème, mon champ de filtre en colonne 20, comporte plusieurs type d'info du genre :
12345 - Formation xxx
12345 - Formation wxc
12365 - Formation utyu
or avec cette formule, si je sélectionne mon critère dans mon TDB, cellule E12, si je tape 12345... le résultat du filtre est vide car je veux qu'il recherche en fait CONTIENT 12345...
je voudrais que le contenu de la cellule E12 soit interpretée comme ="*E12*" pour finalement affichée les valeurs recherchées...
Du coup, je me pose une autre question :
Peut-on ne pas afficher le critère de filtre dans la liste obtenue pour ne pas défiltrer le résulat ?
Sachant que j'ai ajouté d'autres filtres selon les résultas que je veux obtenir ?
MichD, j'avais adapté cette macro que tu m'avais crées :)
Merci d'avance !
Mclain
MichD
Le #26534498
Peut-on ne pas afficher le critère de filtre dans la liste obtenue pour ne pas défiltrer le résulat ?
Sachant que j'ai ajouté d'autres filtres selon les résultas que je veux obtenir ?

Je ne comprends pas cette question.
Si tu peux, utilise ce site "Cjoint.com" et publie ton classeur. Je n'ai
pas besoin de toutes tes données (ces données peuvent être fictives),
mais je veux voir la disposition des données de ton classeur.
Donne un exemple de ce que tu veux obtenir comme résultat, où ce
résultat doit s'afficher.
MichD
Publicité
Poster une réponse
Anonyme