OVH Cloud OVH Cloud

extraction par filtre en VBA qui plante

2 réponses
Avatar
gilles
bonjour =E0 tous
je m'adresse encore =E0 la caste de "ceux qui ont le savoir"=20
car, je butte sur un pb apparemment simple:
un tableau de 40 lignes et 20 colonnes
par VBA je fais une extraction selon une z=F4ne de crit=E8res=20
=E0 partir de 26 crit=E8res plac=E9s dans une seule colonne qui=20
donne un nom de produit .
les champs sont recopi=E9s pour pas avoir de difference.
Dans la macro j'ai recopi=E9 26 fois ce code, en changeant=20
les adresses:

'KIT75
Range("B6:T41").AdvancedFilter Action:=3DxlFilterCopy,=20
CriteriaRange:=3DRange("U350:AM351"), CopyToRange:=3DRange
("U199:AM209"), Unique:=3DFalse

SI je lance la macro sur l'ensemble, il me met erreur=20
1004 et il extrait bien selon les 16 1er crit=E8res, et=20
ensuite il m'=E9crase les lignes et les donn=E9es situ=E8es en=20
dessous , or les champs et crit=E8res sont recopi=E9s donc=20
identiques.
Si je neutralise toutes les lignes sauf 3 (par exemple=20
celles ci dessus), =E7a marche
QUSTION:
Quelqu'un sait-il s'il y a une quantit=E9 limite de crit=E8res=20
ou de lignes ou de colonnes , ou s'il y a une autre raison=20
que je ne connait pas ?
Excusez la longueur de mon baratin, qui j'esp=E8re reste=20
compr=E9hensible
merci =E0 ceusses...
=E0+

2 réponses

Avatar
michdenis
Bonjour Gilles,


Range("B6:T41").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("U350:AM351"), CopyToRange:=Range
("U199:AM209"), Unique:úlse

Dans ce qui précède, la plage de critère Range("U350:AM351") a 19 colonnes, selon la donne de ton problème, tu 20
colonnes de données. N'en manque-t-il pas une ?

Sinon, je n'ai pas compris pourquoi tu n'as pas utilisé une simple boucle pour modifier ta zone de critère ?


Salutations!




"gilles" a écrit dans le message de
news:2e36301c46a8c$7768d060$
bonjour à tous
je m'adresse encore à la caste de "ceux qui ont le savoir"
car, je butte sur un pb apparemment simple:
un tableau de 40 lignes et 20 colonnes
par VBA je fais une extraction selon une zône de critères
à partir de 26 critères placés dans une seule colonne qui
donne un nom de produit .
les champs sont recopiés pour pas avoir de difference.
Dans la macro j'ai recopié 26 fois ce code, en changeant
les adresses:

'KIT75
Range("B6:T41").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("U350:AM351"), CopyToRange:=Range
("U199:AM209"), Unique:úlse

SI je lance la macro sur l'ensemble, il me met erreur
1004 et il extrait bien selon les 16 1er critères, et
ensuite il m'écrase les lignes et les données situèes en
dessous , or les champs et critères sont recopiés donc
identiques.
Si je neutralise toutes les lignes sauf 3 (par exemple
celles ci dessus), ça marche
QUSTION:
Quelqu'un sait-il s'il y a une quantité limite de critères
ou de lignes ou de colonnes , ou s'il y a une autre raison
que je ne connait pas ?
Excusez la longueur de mon baratin, qui j'espère reste
compréhensible
merci à ceusses...
à+
Avatar
gilles
salut michel,
merci de ta réponse
il manque en effet une colonne mais c'est normal car je ne
la prend pas (elle n'a pas d'interêt) et elle n'est pas
prise dans les champs des zônes de critère et
d'extraction .
Pour ce qui est de la simple boucle, toute simple qu'elle
soit, elle dépasse mes faibles compétences de VBAtiste
apprenti.
= SI(ta grande bonté...; je veux bien une ligne de code la
dessus; tant pis)
Sinon, je me demande si c'est un pb VBA ou excel car le
filtre élaboré, selon certains ouvrages que j'ai consulté
se ferait sur plusieurs feuilles !!?
merci
à+

-----Message d'origine-----
Bonjour Gilles,


Range("B6:T41").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("U350:AM351"), CopyToRange:=Range
("U199:AM209"), Unique:úlse

Dans ce qui précède, la plage de critère Range
("U350:AM351") a 19 colonnes, selon la donne de ton

problème, tu 20
colonnes de données. N'en manque-t-il pas une ?

Sinon, je n'ai pas compris pourquoi tu n'as pas utilisé
une simple boucle pour modifier ta zone de critère ?



Salutations!




"gilles" a écrit
dans le message de

news:2e36301c46a8c$7768d060$
bonjour à tous
je m'adresse encore à la caste de "ceux qui ont le savoir"
car, je butte sur un pb apparemment simple:
un tableau de 40 lignes et 20 colonnes
par VBA je fais une extraction selon une zône de critères
à partir de 26 critères placés dans une seule colonne qui
donne un nom de produit .
les champs sont recopiés pour pas avoir de difference.
Dans la macro j'ai recopié 26 fois ce code, en changeant
les adresses:

'KIT75
Range("B6:T41").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range("U350:AM351"), CopyToRange:=Range
("U199:AM209"), Unique:úlse

SI je lance la macro sur l'ensemble, il me met erreur
1004 et il extrait bien selon les 16 1er critères, et
ensuite il m'écrase les lignes et les données situèes en
dessous , or les champs et critères sont recopiés donc
identiques.
Si je neutralise toutes les lignes sauf 3 (par exemple
celles ci dessus), ça marche
QUSTION:
Quelqu'un sait-il s'il y a une quantité limite de critères
ou de lignes ou de colonnes , ou s'il y a une autre raison
que je ne connait pas ?
Excusez la longueur de mon baratin, qui j'espère reste
compréhensible
merci à ceusses...
à+


.