Problème avec une macro.

C

Cyril

Guest
Bonjour,

J'avai laissé un post sur ce forum y'a 2 jours concernant un problème de macro pas évident à expliquer. On m'a répondu mais celà ne collait pas avec ce que je cherchai. Disons que j'ai pas réussit à me faire comprendre.

Plutôt que de vous expliquer je vous met à disposition l'énoncé du problème povenant d'un sujet d'examen de l 'an dernier (vous l'aurez compris je suis en révision ;) ). Vous trouverez 2 feuilles. Je bloque à la question 2 avec cette macro à associer. Merci d'avance pour votre aide, celà m'évitera de m'arracher les cheveux :).

Voici le fichier à votre disposition: <http://perso.wanadoo.fr/twister.c/Excel.zip>

Cyril.
 
C

Cyril

Guest
Re: => MINI DEMO ComboBox de Feuille... Avec report des données

Je dois faire dans la feuille EMPLOYES une "zone de critères" (en A12 et A13 par exemple) et une "zone d'extraction" (en A20:J21 par exemple). Ensuite je dois enregistrer une macro qui fait une extraction par filtre élaboré puis un copier coller de la zone d'extraction obtenue vers la feuille BULLETIN.


Alors voilà le code de la macro proprement dite, tel quel e prof nous a indiqué.

Sub PAYE()
Sheets("EMPLOYES").Select
Range("A3:17).AdvancedFilter Action:=x1FilterCopy,_
CriteriaRange:=Range("A12:A13"),CopyToRange:=Range("A18:I19"._
Unique:=False.

Range("B19:I19")..Select
Selection.Copy
Sheets("BULLETIN").Select
Range("B4:B11").Select
Selection.PasteSpecial Paste:=x1All, Operation:=x1None._
SkipBanks:=False,Transpose:=True
End Sub.

Donc en fait je dois faire sa mais sans programmer, c'est à dire en faisant manuellement l'enregistrement de la macro ainsi quele filtre.

Pour le moment aucun de mes collégues n'est capable de m'aider.

Merci dez passer du temps à m'aider ;).

Cyril.
 
@

@+Thierry

Guest
Re: => MINI DEMO ComboBox de Feuille... Avec report des données

RE Cyril


En ce qui concerne la partie AdvancedFilter, ou tu as mal recopié ce code ou ton prof ...

Range("A3:17) ne peut être que FAUX j'imagine donc ceci :

Range("A3:A17").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A12:A13"), CopyToRange:=Range("A18:I19"), Unique:=False

Mais là c'est une erreur d'execution 1004, et c'est normal car c'est un "serpent qui se mord la queue ce code....

Donc confirme moi toutes les plages : RANGES car là çà ne même à rien du tout !

Pour la seconde partie, oui c'est ce que tu auras sans problème avec l'enregistreur de Macro...

...@suivre...
@+Thierry
 
@

@+Thierry

Guest
Ouuups lire !!!

j'imagine donc ceci :

Range("A3:I17").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A12:A13"), CopyToRange:=Range("A18:I19"), Unique:=False

Mais çà plante ! Donc do,nne les RangesExactes !

...
@+Thierry
 
C

Cyril

Guest
Re: => MINI DEMO ComboBox de Feuille... Avec report des données

Re Thierry,

Le prof a du se planter dans son exemple, où alors il a fait sa pour nous foutre encore plus dans la merde, je te recopi donc les Range comme il a écrit:

Range("A3:I7").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A12:A13"), CopyToRange:=Range("A18:I19",_ Unique:=False

Voilà pour cette partie. Sans comprendre le code en lui même, j'ai pas bien compris le fonctoinnement du filtre élaboré dans mon cas.... Quel foutoir lol.

A+
Cyril.
 
@

@+Thierry

Guest
Euf Cyril

C'est vraiment le bazard ce truc !

Cette macro dit exactement en bon François :

On prends la Plage de A3 à I7 soit 5 lignes

On la filtre pour trouver les données qui matchent avec A12 et A13... soit deux celules (déjà c'est foireux, on est plus en linéaire)

en suite on doit reporter copier les données qui matchent sur la Plage de A18 à A19.... soit sur 2 Lignes

Reponse en bon VBA "Error 1004 !!" lol

Tu as le classeur qui va avec ce truc ? car franchement j'y perds mon latin !! Qu'est qu'il y est sensé y avoir dans la colonne A ???

...
@+Thierry
 
C

Cyril

Guest
Hé non justement j'ai pas le classeur, qu'es ce qu'il veut qu'on comprenne le prof lol.

Sinon la fonction "filtre élaborée" sa fonctonne comment. Je veux dire la zone de critère et la zone d'extraction sa correspond à quoi dans le cas d'une liste de renseignements?


Merci,
Cyril.
 
@

@+Thierry

Guest
Bon Cyril

Tu me fait réviser moi même comment on utilise les Filtres Elaborés, merci à ton Prof lol !!!

Regarde sur
url=http://disciplus.simplex.free.fr/xl/filtris.htm#filtreelaboréex

Il y un un petit exemple de ce genre de filtres...

Bonne Nuit
@+Thierry
 
C

Cyril

Guest
Salut, j'ai essayai d'appliquer l'exemple et j'ai pas réussit!! Rien ne fonctionne sous excel lol. En fait en feuille 1 j'ai un tableau tout con, et j'ai essayé de faire ce qu'il dit pour le copier dans la feuille2. Bref à chauqe tentative j'ai un message d'erreur.... Sa en devient désespérant.

Cyril.
 
@

@+Thierry

Guest
Re: Problème avec une macro... Filtres élaborés

Bonjour Cyril

Bon j'ai potassé un peu et j'ai fais une démo sur les Filtres élaborés...

Vu que ça va interresser pas mal de gens... j'en ai fait un nouveau fil de discussion...

Donc Rendez ======> Lien supprimé

Je pense que le fichier démo te sera grandement utile pour ton devoir...

Allé bonne journée et bonne chance !

Bon app à tout le monde
@+Thierry
 
C

chris

Guest
Bonjour,
Bizarre j'avais loupé ce fil.
Je donne des cours Excel et pour expliquer l'intérêt des macros et comment utiliser l'enregistreur j'utilise justement un exemple à base de filtre élaboré où on extrait les factures impayées et dont la date d'échéance est passée (donc critères ad hoc) pour ensuite exporter la liste des relances à faire pour un publipostage ou une relance téléphonique.
On obtient donc un code qui doit ressembler à celui de cyril (son prof a du assister à un de mes cours !! lol)

Chris
 
@

@+Thierry

Guest
Salut Chris,

Heureux d'avoir de l'assistance alors pour ce pauvre Cyril !

Je suppose que tu as jeté un oeil sur le petit guide que j'ai fait sous le lien ci-dessus...

Par contre la code du prof me laisse toujours perplexe si il n'a pas donné le mode de critère...
C'est là que je ne sais pas comment l'aider maintenant !

Endin on verra déjà avec la démo si il s'en sort mieux...

Bonne fin de journée
@+Thierry
 
C

Cyril

Guest
Salut,

J'ai presque réussit à faire ce que voulait le prof, c'est à dire que j'ai créé un filtre élaboré qui extrait un employé de la liste. Ensuite j'ai créé une macro qui copie cet empoyé extrait sur une autre feuille excel. Puis j'ai créé une zone de liste modifiable associer à cette macro. Mais j'ai un problème car la zone de critère elle ne se change pas en fonction de la liste modifiable.

Par exemple, si comme critère j'ai dit numéro étudiant="1" et que je sélectionne l'étudiant 2 dans la liste modifiable, la macro fait ce qu'il faut mais avec l'étudiant 1, logique vu que la zone critère n'a pas changé automatiquement. Comment je dois faire pour que la zone de critère du filtre change automatiquement en fonction du choix fait dans la zone liste modifiable? Il faudrait coller la zone de la liste modifiable dans le critère du filtre, mais comment?

On va y arriver ;).
 
@

@+Thierry

Guest
Bonjour Cyril, les gens de ce fil et le Forum

Je ne sais même pas si tu as au moins regardé le Guide Démo que j'ai fait pratiquement rien que pour toi, mais que j'ai posté dans un autre fil, car les Filtres élaborés méritaient d'être traités dans un nouveau fil afin que tout le monde en profite...

Donc déjà tu me dis si celà t'a servi au moins !

===>Lien supprimé

Ensuite ta Zone de Liste Modifiable elle vient de quelle barre d'outils ??
Barre d'Outils => FORMULAIRE
Barre d'Outils => CONTROLE

Car les deux sont totalement différentes...

Bon Samedi
@+Thierry
 
C

Cyril

Guest
Salut Thierry,

Oui ton post concernant les filtres élaborés m'a été d'une grande aide, c'est grâce à tes exemples que j'ai réussit à faire le mien ;). Merci beaucoup pour sa.

Donc sa sa fonctionne. C'est au niveau de la zone liste modifiable que j'ai un problème. Je l'ai pris de la barre d'outils FORMULAIRE.

Cyril.
 
@

@+Thierry

Guest
Re Bonjour Cyril

Donc ci-joint un exemple de liste modifiable gérant les critère d'un filtre élaboré...

J'ai lié directement la macro à cette Zone de Liste Modifiable, mais on pourrait aussi passer par un bouton...

Pour le reste j'ai mis les explications et une capture d'écran...
Pour obtenir tout ceci c'est par le click droit une fois cette liste sélectionnée...
et choisir "Format de Contrôle" pour paramétrer (onglet "Contrôle")
ou "Affecter une macro" pour affecter une macro !!

Dis moi si c'est SA !! (lol)

Bon çamedi !!
@+Thierry
 

Pièces jointes

  • Filtre-elabore-list-modifiable.zip
    16.2 KB · Affichages: 16

Discussions similaires

Statistiques des forums

Discussions
312 939
Messages
2 093 789
Membres
105 838
dernier inscrit
TECHD