Filtre automatique à l'ouverture du fichier

Fermé
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018 - 18 oct. 2018 à 14:41
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018 - 23 oct. 2018 à 20:31
Bonjour,

J'aimerais que lorsque j'ouvre mon fichier, ma colonne C actualise sont filtre par ordre alphabétique.
Je sais pas si c'est important mais la feuille ou se trouve ce filtre est "masqué" dans le fichier.
J'ai tenté plusieurs code VBA, mais sans sucés, alors je désespère un peu...

Merci d'avance pour votre aide!
A voir également:

6 réponses

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
18 oct. 2018 à 14:50
Bonjour,

l'idéal serait que tu crées un exemple de fichier anonymisé et que tu le joignes à la discussion
pour joindre ton fichier
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

dans le même style tu as https://mon-partage.fr/
0
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018
18 oct. 2018 à 15:01
Hello,

Je vois pas ce que je peux mettre dans un fichier anonymisé...
c'est juste une liste de projets dans la colonne C de ma feuille que je souhaiterais actualiser par ordre alphabétique lorsque j'ouvre mon document.
Tu veux que je t'envoie un fichier avec une liste pas trier alphabétiquement dans la colonne C? C'est ça??
Dsl je ne comprend pas trop...
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
18 oct. 2018 à 15:06
Re,

tu crées un fichier dont la structure se rapproche de ton fichier original mais en masquant les données perso par des toto, titi, tata etc ...
ou tu enregistres ton fichier sous pour le dupliquer, tu masques de la même façon les données perso et tu joints le fichier
0
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018
18 oct. 2018 à 15:15
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
18 oct. 2018 à 15:20
Re,

et quelle colonne veux tu filtrer la B ou la C
0
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018
18 oct. 2018 à 15:22
la C
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié le 18 oct. 2018 à 16:48
Re,

j'ai dû m'absenter,

alors le problème vient que tu as utilisé l'objet Tableau.

si tu avais créé ton tableau en utilisant simplement ta plage de cellule le code à placer dans la Thisbokbook
se limiterait à
Private Sub Workbook_Open()
On Error Resume Next
sheets("Feuil1")..Range([A2], [C65536].End(xlUp)).Sort Key1:=Range("C2"), Order1:=xlAscending
End Sub

mais en utilisant un tableau il faut purger le filtre, puis faire le tri et sortir de l'application

Private Sub Workbook_Open()
On Error Resume Next
ActiveWorkbook.Worksheets("Feuil1").ListObjects("Tableau1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").ListObjects("Tableau1").Sort.SortFields. _
Add Key:=Range("Tableau1[#All,[Projets]]"), SortOn:=xlSortOnValues, _
Order:=xlAscending
ActiveWorkbook.Worksheets("Feuil1").ListObjects("Tableau1").Sort.Apply
End Sub

0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
18 oct. 2018 à 20:41
Ah petite précision, le fichier doit être enregistré sous et lui donner l'extension .XLSM

ou éventuellement l'ancienne extension Excel .XLS
0
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018
19 oct. 2018 à 11:58
Hello,

Merci pour ta réponse!
Ok alors effectivement, je n'ai pas tenu compte du fait que c'était en mode Tableau… je bug sur des trucs con parfois!!
J'ai fais un copier-coller de ton code, cependant il m'annonce une erreur sur la partie:

ActiveWorkbook.Worksheets("Feuil1").ListObjects("Tableau1").Sort.SortFields. _
Add Key:=Range("Tableau1[#All,[Projets]]"), SortOn:=xlSortOnValues, _
Order:=xlAscending

Tous ce que j'ai modifié selon ton code c'est le nom de ma feuille qui s'appelle "BD".

Si je ne change rien a ta formule et que je laisse "Feuil1", rien ne se passe.

Je pense à une chose... ma liste de projets est une formule de transfert d'un autre fichier:
='PLAN PROJETS 2018 - Claire.xlsx'!Tableau1[@Projets]

Est ce que cela impact le code?

Mon fichier à bien l'extension .xlsm

Merci pour ta précieuse aide.
Au plaisir de te lire...
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
19 oct. 2018 à 12:23
Re,

et ton tableau comment est il nommé !

regarde c'est exemple, avec les boutons tu peux filtrer en mode Décroissant et à l'ouverture les deux feuilles dont le feuille BD avec ton tableau seront automatiquement filtrées en mode croissant
https://www.cjoint.com/c/HJtkw4oyb2j
0
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018
19 oct. 2018 à 12:41
Mon tableau s'appelle "BDProjets"
Ma Feuille "BD"

le code:

Private Sub Workbook_Open()
On Error Resume Next
ActiveWorkbook.Worksheets("BD").ListObjects("BDProjets").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("BD").ListObjects("BDProjets").Sort.SortFields. _
Add Key:=Range("BDProjets[#All,[Projets]]"), SortOn:=xlSortOnValues, _
Order:=xlAscending
ActiveWorkbook.Worksheets("BD").ListObjects("BDProjets").Sort.Apply
End Sub

Et je n'arrive pas ouvrir ton fichier, un message apparait me disant que le format ou l'extension n'est pas valide!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
19 oct. 2018 à 12:55
Re,

Bizarre que tu n'arrives pas à ouvrir mon fichier que je viens de retester.
De toute façon voila le code à coller dans la Thisworkbook

Private Sub Workbook_Open()
On Error Resume Next
ActiveWorkbook.Worksheets("BD").ListObjects("BDProjets").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("BD").ListObjects("BDProjets").Sort.SortFields. _
Add Key:=Range("BDProjets[#All,[Projets]]"), SortOn:=xlSortOnValues, _
Order:=xlAscending
ActiveWorkbook.Worksheets("BD").ListObjects("BDProjets").Sort.Apply
End Sub
0
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018
19 oct. 2018 à 13:07
C'est exactement ce que j'avais fais…
J'ai tout de même fais un copier-coller de ton code, mais rien ne se passe…
J'arrive pas à comprendre ce mystère!!
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
19 oct. 2018 à 13:18
J'ai pourtant testé le code sur mon fichier en changeant le nom de l'onglet et de ton tableau sans problème

essaye de retélécharger le fichier
https://www.cjoint.com/c/HJtlrjpzIIj
0
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018
19 oct. 2018 à 13:33
Rien à faire je n'arrive pas à l'ouvrir…
0
Claire4444 Messages postés 15 Date d'inscription vendredi 18 août 2017 Statut Membre Dernière intervention 23 octobre 2018
23 oct. 2018 à 20:31
Bonsoir!

Je n'ai toujours pas trouver de solution, y a t'il qqn qui aurait une idée??

Merci d'avance!
Claire
0