Menu

Erreurs d"execution 1004 programme simple [Résolu]

scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 3 juil. 2017 à 10:05 - Dernière réponse : scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention
- 4 juil. 2017 à 15:16
Bonjour,
Je débute sur VBA, je ne comprend pas pourquoi ce code ne fonctionne pas.

Sub Filtrer()
'
' Filtrer Macro
'
' Touche de raccourci du clavier: Ctrl+x
'
Worksheets(3).Activate
Sheets("paramètres").Select
Selection.AutoFilter Field:=13, Criteria1:=Range("M2")
Sheets("Feuille accueil").Select


End Sub


La ligne
Selection.AutoFilter Field:=13, Criteria1:=Range("M2")
est celle remise en cause


Ce programme fonctionne sur un onglet appelé productionparameters mais pas sur l'onglet paramètres

merci d'avance pour votre aide
Afficher la suite 

23 réponses

Répondre au sujet
michel_m 15210 Messages postés lundi 12 septembre 2005Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - Modifié par michel_m le 3/07/2017 à 10:18
0
Utile
2
Bonjour,

Que ce soit Jordane45 (Bonjour) ou moi; on t'avait proposé des réponses à ces discussions
http://www.commentcamarche.net/forum/affich-34693700-erreur-d-execution-6-depassement-de-capacite
http://www.commentcamarche.net/forum/affich-34694017-fusionner-deux-code-simple

discussions marquées "Résolu"
On attend encore à ce jour ton
MERCI!

Tu connais ?
lire d'urgence
http://www.commentcamarche.net/contents/129-charte-d-utilisation-de-commentcamarche-net-respect-d-autrui#politesse

 Michel
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 3 juil. 2017 à 10:29
Tu as raison, excuse moi j'avais oublié, normalement je le dit ^^'
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 3 juil. 2017 à 13:51
Ceci étant résolu as-tu une idée d'une solution pour mon problème ?
Commenter la réponse de michel_m
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 3 juil. 2017 à 11:36
0
Utile
7
Il s'agit de excel 2016
gérard > scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 3 juil. 2017 à 16:43
Oui, mais ton tableau avec filtre est sur quelle feuille ?
S'il est sur ta 2ème feuille : Worksheets(2).Activate
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention > gérard - 3 juil. 2017 à 16:46
Il est sur la troisieme
gérard > scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 3 juil. 2017 à 17:05
 
Dans ce cas, ton Worksheets(3).Activate est bon ; mais à tout hasard, essaye
quand même en le remplaçant par : Worksheets(3).Select ; ou encore par :
Worksheets("productionparameters").Select

Si la feuille est bonne, alors vérifie que sur cette feuille, ton tableau avec filtre
activé a bien un champ n° 13.

⚠  Si la 1ère colonne du tableau est en colonne D : le champ n° 1 correspond
à cette colonne D ; ta colonne E est le champ n° 2 ; ... et c'est ta colonne P
qui est ton champ n° 13.

Si le champ n° 13 est bon, il reste à vérifier ton critère, en cellule M2.
 
yg_be 5234 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention > gérard - 4 juil. 2017 à 09:58
en effet, dans la feuille paramètres, le tableau commence en colonne J!
bien deviné!
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 4 juil. 2017 à 10:05
Ah d'accord, excusez moi je n'avais pas compris cela comme ça, je ne pensais pas que les colonnes ne contenant rien ne comptait pas.
Commenter la réponse de scuti
michel_m 15210 Messages postés lundi 12 septembre 2005Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 3 juil. 2017 à 18:11
0
Utile
Tr,
mets plutôt ton classeur en PJ
Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic gauche :coller le raccourci dans votre message

Dans l’attente

Commenter la réponse de michel_m
yg_be 5234 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention - Modifié par yg_be le 3/07/2017 à 19:16
0
Utile
1
bonsoir, suggestion:
Sheets("paramètres").Cells.AutoFilter Field:=13, Criteria1:=Sheets("paramètres").Range("M2")

de préférence, en supprimant les .Activate et les .Select
 
Bonjour yg_be,

Tu as raison : c'est mieux sans les .Activate et sans les .Select ; et ça devrait passer
sûrement mieux si le critère est lui aussi préfixé par la bonne feuille !

Même si je l'avance un peu vite, il me semble que tu as trouvé la bonne solution,
et que scuti pourra bientôt le confirmer.

Cordialement
 
Commenter la réponse de yg_be
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 4 juil. 2017 à 09:46
0
Utile
2
Bonjour, merci pour votre aide

Voila une partie du fichier qui fait originellement 40 colonnes sur 365 000 lignes.


La macro 3 est celle qui nous intéresse.

Le fichier s'appelle autre.

Quand j'utilise le code de yg_be sur la feuille Productionparameters cela fonctionne mais quand je l'utilise sur la feuille paramètres il n'y a plus de message d'erreur mais le filtre ne laisse plus rien passer.

https://mon-partage.fr/f/dZFuwVe6/
yg_be 5234 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention - 4 juil. 2017 à 09:51
je ne vois pas le code proposé dans le fichier.
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 4 juil. 2017 à 09:56
Mince, peut tu créer un code correspondant et faire un essai quand même il ne doit comporter que ta ligne.
Ou je peut peut-être le rajouter mais je ne sais pas comment.
Commenter la réponse de scuti
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 4 juil. 2017 à 10:09
0
Utile
Et bien, Merci beaucoup à tout le monde pour le temps passé et continuez ce que vous faites c'est génial.
Commenter la réponse de scuti
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 4 juil. 2017 à 12:26
0
Utile
4
Excusez moi;

Le code marche mais quand j'ai voulus le réutiliser il ne fonctionne plus voici les deux codes celui ci fonctionne:

Sub Filtrer2()
'
' Filtrer2 Macro
'
' Touche de raccourci du clavier: Ctrl+w
'
Sheets("paramètres").Cells.AutoFilter Field:=1, Criteria1:=Sheets("paramètres").Range("J2")

End Sub




Mais pas celui la :

Sub Filtrer()
'
' Filtrer Macro
'
' Touche de raccourci du clavier: Ctrl+x
'
Sheets("paramètres").Cells.AutoFilter Field:=4, Criteria1:=Sheets("paramètres").Range("M2")

End Sub



Avez vous une idée ?
 
a) Un truc tout bête : es-tu sûr que ton raccourci Ctrl+x lance ta macro Filtrer ?
    surtout que Ctrl+x est utilisé en général pour l'opération Couper !

b) Si ce n'est pas a) : la syntaxe de ta ligne de code est identique dans les
    deux cas ; donc vérifier n° de champ et cellule du critère : 4 et "M2"
 
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 4 juil. 2017 à 13:57
Ce n'est pas la a)

J'ai essayer toutes les combinaisons possible et la macro affiche le message d'erreur 1004 pour toute les combinaisons n'ayant pas field=1

Quand il est égal à un cela fonctionne avec la valeur indiquée que cela soit M2 ou J2
yg_be 5234 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 avril 2018 Dernière intervention > scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 4 juil. 2017 à 14:58
tu as probablement modifié tes données, et ton tableau ne fait plus qu'une seule colonne. quel est le message de l'erreur 1004?
scuti 31 Messages postés jeudi 29 juin 2017Date d'inscription 24 juillet 2017 Dernière intervention - 4 juil. 2017 à 15:16
Euh j'ai redémarrer mon PC et ça s'est mis à fonctionner, Désolé de t'avoir déranger de nouveau

Merci pour ton aide
Commenter la réponse de scuti