Macro à partir de la valeur d'une liste pour ensuite filtrer

syl20du62

XLDnaute Nouveau
Bonjour,

J'ai créé une liste via l'outil de validation des données.

Je crée ma macro en prenant la valeur choisie dans cette liste et ensuite l'appliquer dans un filtre par un copier/coller mais dans le scrypte VBA, il ne prend pas les coordonnées de la valeur, mais la valeur en elle-même. De ce fait, j'ai un blocage et la macro n'est pas utilisable pour la liste.

Auriez vous une solution?? Merci.

Ci-dessous, j'ai juste mis des *** pour ma valeur, c'est à cet endroit que je voudrais voir apparaitre E12 et non la valeur de la cellule.

Range("E12").Select
Selection.Copy
Windows("2013-Guichet Professionnalisation_NEW_V0.xlsm").Activate
ActiveSheet.Range("$A$2:$U$174").AutoFilter Field:=1, Criteria1:= _
"=***********", Operator:=xlAnd
Rows("26:195").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Fiche Conseiller.xlsm").Activate
Sheets("Commandes Prof").Select
Rows("2:2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("2013-Guichet Professionnalisation_NEW_V0.xlsm").Activate
ActiveSheet.Range("$A$2:$U$174").AutoFilter Field:=1
Range("A3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=FORMATIONCOACHING!R173C6"
Range("A4").Select
Windows("Fiche Conseiller.xlsm").Activate
Range("A2").Select
Sheets("Identité C.C").Select
End Sub
 

Paf

XLDnaute Barbatruc
Re : Macro à partir de la valeur d'une liste pour ensuite filtrer

Bonjour et bienvenu sur XLD

Pas sûr d'avoir tout compris .

Si le but est de trier la plage ActiveSheet.Range("$A$2:$U$174") selon le contenu de la cellule E12 :
ActiveSheet.Range("$A$2:$U$174").AutoFilter Field:=1, Criteria1:=Range("12").value


il ne prend pas les coordonnées de la valeur, mais la valeur en elle-même. De ce fait, j'ai un blocage et la macro n'est pas utilisable pour la liste.

le filtre tri selon une valeur et non sur une adresse. Si le problème est de pouvoir filtrer suivant toutes les valeurs de la liste, passer par une boucle du genre

Code:
For each cellule in range("MaListe)
    ActiveSheet.Range("$A$2:$U$174").AutoFilter Field:=1, Criteria1:=cellule.value
Next

A+

NB :Dites nous ce que vous voulez faire exactement avec un fichier sans données confidentielles joint .
 

Paritec

XLDnaute Barbatruc
Re : Macro à partir de la valeur d'une liste pour ensuite filtrer

Bonsoir syl20du62 le forum
bon alors moi pas comprendre quoi toi vouloir !!!!!!
mais une tentative, tu dis que tu ne veux pas voir la valeur de la cellule et non E12 ?????????????????
c'est la valeur de E12 que tu veux voir oui ou non ?????
si oui
a+
papou:eek:

Code:
'Range("E12").Select  '''''''''''''''''''ne sert à rien
    'Selection.Copy'''''''''''''''''  ne sert à rien
    Windows("2013-Guichet Professionnalisation_NEW_V0.xlsm").Activate
    ActiveSheet.Range("$A$2:$U$174").AutoFilter Field:=1, Criteria1:= Range("E12").value, Operator:=xlAnd

EDIT: et Paf !!!!!!! bah oui en retard moi à plus
 

syl20du62

XLDnaute Nouveau
Re : Macro à partir de la valeur d'une liste pour ensuite filtrer

Je vous ai mis un fichier basique de ce que je souhaiterais.

En gros, j'aimerais que, dès que je choisis un nom dans ma liste, toutes les lignes de la feuille Test où son nom apparaît viennent se greffer en bas de la page "Synthèse". Tout en sachant que dans mon projet réel, je bosse sur des fichiers différents.

Merci beaucoup.
 

Pièces jointes

  • Test.xlsx
    10.8 KB · Affichages: 31
  • Test.xlsx
    10.8 KB · Affichages: 34
  • Test.xlsx
    10.8 KB · Affichages: 35

Paf

XLDnaute Barbatruc
Re : Macro à partir de la valeur d'une liste pour ensuite filtrer

Re bonjour,

l'éclaircissement apporté confirme les propositions faites:

ActiveSheet.Range("$A$2:$U$174").AutoFilter Field:=1, Criteria1:=Range("E12").value (et non pas Range("12") comme je l'avais écrit).

si le code du post #1 est mis en Private Sub Worksheet_Change(ByVal Target As Range) de la feuille où se trouve la liste, le changement de nom dans la liste déclenchera ce code qui prendra la cellule E12 comme critère de tri.

A+
 

syl20du62

XLDnaute Nouveau
Re : Macro à partir de la valeur d'une liste pour ensuite filtrer

Je comprends la macro mais comme j'utilise le contenu de la cellule E12 pour aller alimenter un filtre textuel dans un autre fichier, comment m'assurer que la valeur prise par "Copier coller" dans ma liste soit identique à celle que je vais rechercher dans mon filtre textuel.

Merci.
 

Discussions similaires

Réponses
2
Affichages
724

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16