Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Tri d'une plage avec lignes masquées (VBA)

  • Initiateur de la discussion Initiateur de la discussion hoerwind
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

hoerwind

XLDnaute Barbatruc
Bonjour,

J'aimerai une petite aide pour modifier ou compléter la macro sous la pièce jointe.

Cette macro (JNP, kjin ou autre ?) permet par double-clic dans la colonne B d'afficher et de masquer des lignes sur base de l'arborescence en colonne A.
Elle fonctionne parfaitement.

Le problème :
Lorsqu'une nouvelle ligne est saisie au bas de la plage (ABCD sous l'exemple joint), que la feuille est triée (menu Données - Trier) sans afficher préalablement toutes les lignes masquées, le tri ne se fait pas correctement et la macro ne remplit plus son rôle.

La solution que j'entrevois :
Empêcher le tri par la barre d'outils, uniquement pour cette feuille.
A l'enregistrement du fichier, afficher les lignes masquées, trier et afficher ce qui était affiché avant la sauvegarde.
Je n'y arrive pas par l'enregistreur de macro.

Il y a peut-être d'autres procédures pour obtenir le même résultat, mais je souhaiterai ne pas créer de bouton pour activer la macro, ni une macro qui fait le travail à chaque validation d'une saisie en colonne A.

Je vous en remercie d'avance.
 

Pièces jointes

Re : Tri d'une plage avec lignes masquées (VBA)

Re, hoerwind.


Cela ne m'empêchera pas de boire un petit coup (avec modération) à ta santé.
Je me sens mieux, tout d'un coup.🙂

Un essai avec la hauteur des lignes copiée en colonne J, (qu'on pourra masquer) qui permet la mémorisation avant le tri, et le même réaffichage après.
En espérant qu'un VBAiste passe par là pour te proposer une solution moins inélégante.

Edit : nouveau test (j'ai modifié le fichier joint : protection UserInterfaceOnly dans Workbook_Open)
Re-Edit : Bonjour, Modeste. Attendons de voir ce qu'hoerwind en pensera dès que les brûmes de ses libations dominicales se seront estompées.🙂🙂
 

Pièces jointes

Dernière édition:
Re : Tri d'une plage avec lignes masquées (VBA)

Re-bonjour,

Pendant qu'hoerwind picole (modérément, j'en suis certain 😉) et que Victor21 s'échine (modérément, j'espère 😛), une contribution, qui pourrait répondre à la dernière interrogation de Victor, sans pour autant que je sois vbaïste, ni que je considère sa solution comme inélégante 🙂

[...]

Edit: ... code supprimé, en définitive (si un tri a lieu entretemps, les n° de lignes ne sont plus les bons et si le fichier est fermé en outre, une variable tableau n'y survivrait pas. Ce serait cruel de ma part 🙁)
 
Dernière édition:
Re : Tri d'une plage avec lignes masquées (VBA)

Bonjour,

Il a fait chaud hier après-midi, hier soir aussi, heureusement que la température était clémente !

Fo_rum,
Merci, ton idée du double-clic en A3 est excellente, à retenir !
Par contre le tri ne s'effectue pas correctement, il y a un décalage des données entre les colonnes A et B.
Si tu ne vois pas ce dont je parle, je te mets un petit extrait en pièce jointe.

Victor,
Merci, on y est presque !
La seule petite remarque : pourquoi ne pas effacer en fin de macro les données de la colonne J ?
Je peux les déplacer dans une autre colonne (j'ai vu où cela se passe), mais tout simplement effacer n'est-ce pas plus simple ?

Modeste,
Merci à toi aussi d'avoir essayé.

Conclusion :
Il faudra absolument que je m'y mette aussi aux macros ... à votre aide !
Première petite question : quand ou pourquoi faut-il mettre une macro dans la feuille, dans un module ou dans ThisWorkbook ?

Merci encore et au plaisir (avec impatience) de vous relire.
 
Re : Tri d'une plage avec lignes masquées (VBA)

Bonjour, hoerwind.

La seule petite remarque : pourquoi ne pas effacer en fin de macro les données de la colonne J ?
Je peux les déplacer dans une autre colonne (j'ai vu où cela se passe), mais tout simplement effacer n'est-ce pas plus simple ?

Mais bon sang, mais c'est bien sûr... C'est fait.

Il faut évidemment protéger les formules, et même les masquer, mais comment fait-on alors pour supprimer une ligne ?
Les macros se moquent de la protection avec UserInterfaceOnly.
Tu peux supprimer une ligne en cliquant droit sur la cellule concernée (toujours colonne B, mais on peut aussi changer).
 

Pièces jointes

Re : Tri d'une plage avec lignes masquées (VBA)

Re,

C'est ce qu'on appelle du "beau travail !", bravo et merci pour ton implication.

La seule chose qui me dérange encore fortement, c'est de devoir dépendre de quelqu'un d'autre pour réaliser ce dont j'ai envie, mais là tu n'y peux rien, cela dépend uniquement de moi.

Je ne suis pas du type "assisté", et j'aurai déjà du m'y habituer depuis que ma femme m'a donné deux fils, mais non, je ne m'y fais pas.
 
Re : Tri d'une plage avec lignes masquées (VBA)

Re,

Je ne suis pas du type "assisté"

J'avais crû le comprendre.!!!
Au vu de la qualité de tes interventions et de l'assiduité que tu montres ici, je t'aurais plutôt classé parmi les "assistants".🙂

@+ sur de prochains fils,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
138
Réponses
38
Affichages
892
Réponses
9
Affichages
555
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…