Problème Filtre avancé, code erreur

Résolu/Fermé
ti_mouton Messages postés 143 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 5 septembre 2020 - 20 juil. 2015 à 09:46
ti_mouton Messages postés 143 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 5 septembre 2020 - 20 juil. 2015 à 11:35
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
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:

3 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
20 juil. 2015 à 10:06
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 :
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...
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
20 juil. 2015 à 10:14
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 ?
0
ti_mouton Messages postés 143 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 5 septembre 2020
Modifié par jordane45 le 20/07/2015 à 10:42
Voici mon code en entier :
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.
.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
20 juil. 2015 à 10:44
Lorsque ça plante... n'aurais tu pas des lignes masquées ? (déjà filtrées peut être....)
0
ti_mouton Messages postés 143 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 5 septembre 2020 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
20 juil. 2015 à 10:49
Non :(
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > ti_mouton Messages postés 143 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 5 septembre 2020
20 juil. 2015 à 10:51
Donc je te repose la question ...
Lorsque ça plante .... que vaut la variable DL ? (sa VALEUR ...Celle que tu peux voir lorsque tu places le curseur de la souris dessus quand tu es en mode pas à pas ...)
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
20 juil. 2015 à 11:15
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 :

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 !...
0
ti_mouton Messages postés 143 Date d'inscription vendredi 29 mai 2015 Statut Membre Dernière intervention 5 septembre 2020 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
20 juil. 2015 à 11:29
La valeur indiquée est 15889
0