Problème Filtre avancé, code erreur
Résolu
ti_mouton
Messages postés
143
Date d'inscription
Statut
Membre
Dernière intervention
-
ti_mouton Messages postés 143 Date d'inscription Statut Membre Dernière intervention -
ti_mouton Messages postés 143 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Grâce à l'aide du membre Kuartz, je dispose d'un code me permettant de filtrer en feuille 2 les données contenues dans la feuille 1 (une base de données qui est amené à évoluer régulièrement).
Le pb est le code ne fonctionne pas systématiquement, j'ai régulièrement le message erreur suivant : Erreur définie par l'application ou par l'objet, au niveau de la ligne
Nous n'arrivons pas à comprendre pourquoi ça ne fonctionne pas.
Voici mon fichier : http://www.cjoint.com/c/EGuhT0emJQ5
Merci d'avance pour votre aide
Grâce à l'aide du membre Kuartz, je dispose d'un code me permettant de filtrer en feuille 2 les données contenues dans la feuille 1 (une base de données qui est amené à évoluer régulièrement).
Le pb est le code ne fonctionne pas systématiquement, j'ai régulièrement le message erreur suivant : Erreur définie par l'application ou par l'objet, au niveau de la ligne
Sheets(1).Range(Cells(4, 1), Cells(DL, 4)).Select
Nous n'arrivons pas à comprendre pourquoi ça ne fonctionne pas.
Voici mon fichier : http://www.cjoint.com/c/EGuhT0emJQ5
Merci d'avance pour votre aide
A voir également:
- Problème Filtre avancé, code erreur
- Code ascii - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
3 réponses
Bonjour,
Ton fichier est inaccessible et le bout de code que tu proposes ne nous permet pas de t'aider... Toutefois, sélectionner une plage d'un onglet autre que l'onglet actif, nécessite la sélection au préalable de cet onglet. Le code correct serait :
On devrait pouvoir se passer des Select qui ne font que ralentir l'exécution du code mais il faudrait le code en entier...
Ton fichier est inaccessible et le bout de code que tu proposes ne nous permet pas de t'aider... Toutefois, sélectionner une plage d'un onglet autre que l'onglet actif, nécessite la sélection au préalable de cet onglet. Le code correct serait :
With Sheets(1) .Select .Range(.Cells(4, 1), .Cells(DL, 4)).Select End With
On devrait pouvoir se passer des Select qui ne font que ralentir l'exécution du code mais il faudrait le code en entier...
Bonjour,
Je n'ai pas regardé ton fichier .. mais dans un premier temps pour que tu puisse essayer de trouver l'erreur... as tu regardé, lorsque ça plante..., ce que vaut ta variable DL ?
Je n'ai pas regardé ton fichier .. mais dans un premier temps pour que tu puisse essayer de trouver l'erreur... as tu regardé, lorsque ça plante..., ce que vaut ta variable DL ?
Voici mon code en entier :
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Sub FiltreAvance() Dim DL As Integer DL = Sheets(1).Cells(Application.Rows.Count, 1).End(xlUp).Row Sheets(1).Range(Cells(4, 1), Cells(DL, 4)).Select Selection.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets(2).[B1:B2], CopyToRange:=Sheets(2).[B6], Unique:=True End Sub
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Re,
Quand tu lances le code, quel est l'onglet actif ? Si ce n'est pas le premier onglet (sheets(1)) il te faut écrire :
Comme je te l'avais suggéré dans mon premier post...
Il est vraiment regrettable qu'on soit obligé, Jordane et moi, de te tirer les vers du nez pour t'aider. Tu pourrais au moins faire l'effort de répondre à nos questions. Après tout c'est pour toi qu'on le fait !...
Quand tu lances le code, quel est l'onglet actif ? Si ce n'est pas le premier onglet (sheets(1)) il te faut écrire :
With Sheets(1) .Select .Range(.Cells(4, 1), .Cells(DL, 4)).Select End With
Comme je te l'avais suggéré dans mon premier post...
Il est vraiment regrettable qu'on soit obligé, Jordane et moi, de te tirer les vers du nez pour t'aider. Tu pourrais au moins faire l'effort de répondre à nos questions. Après tout c'est pour toi qu'on le fait !...