XL 2019 tri cellules

boguinette

XLDnaute Nouveau
Bonjour à tous,
Je me permets de vous solliciter, je pense que ma question est un peu bête, mais j'ai le nez dans mon tableau et je n'arrive pas à trouver la solution... :-(
Je voudrais trier des cellules du plus petit au plus grand, je mets un fichier exemple en pièce jointe. J'ai essayé de modifier le format de la cellule en nombre, en format texte, j'ai même rajouter un zéro pour avoir le même nombre de chiffres dans les cellules, mais mon 1.1.11.1 sort au dessus du 1.1.2 par exemple...
Merci pour votre aide ! :)
 

Pièces jointes

  • TRI.xlsx
    8.6 KB · Affichages: 33

job75

XLDnaute Barbatruc
Bonjour boguinette, le forum,

sur la feuille BRC, le bouton fonctionne, mais sur la feuille grille complète ca ne marche pas...
C'est facile à comprendre : dans un cas le tableau commence en A1 et en A4 dans l'autre.

Pour y remédier on peut rechercher le mot Exigence en colonne B, donc voyez le fichier joint avec :
VB:
With [B:B].Find("Exigence", , xlValues, xlPart).CurrentRegion
A+
 

Pièces jointes

  • Grille audits internes VS BRCV8-IFSV7 essai.xlsm
    163.8 KB · Affichages: 5

job75

XLDnaute Barbatruc
Encore une chose, pour que les hauteurs des lignes soient conservées il faut trier les lignes entières :
VB:
.EntireRow.Sort .Columns(1), xlAscending, Header:=xlYes 'lignes entières pour conserver les hauteurs
 

Pièces jointes

  • Grille audits internes(1).xlsm
    163.8 KB · Affichages: 2

boguinette

XLDnaute Nouveau
Bonsoir à tous,

Je suis encore de retour avec mon problème de tri. Je ne suis décidemment pas douée...
J'ai essayé d'insérer les macros dans mon tableau, en faisant attention aux lignes et colonnes. Mais je suis obligé de mettre des 0, après mes chiffres (afin qu'il y ait le même nombre de chiffre dans chaque cellule) pour que le tri fonctionne. Et j'aimerais pouvoir insérer dans la macro du tri, le fait que les zéros s'ajoutent automatiquement, @job75 vous m'aviez donné une macro avec cette option, mais je n'arrive pas à l'insérer, il y a un message d'erreur sur une ligne de la macro, donc j'ai du rater quelque chose.
Je mets un fichier exemple en pièce jointe en expliquant mon soucis...
Merci pour votre aide.
 

Pièces jointes

  • test tri.xlsx
    12.9 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bonjour boguinette, le forum,

Que vous arrive-t-il ? Vous joignez un fichier .xlsx donc sans macro, quel est donc votre problème ?

Quant aux .0.0.0 c'est vous qui les avez mis, eh bien enlevez-les !!!

Bien sûr ma macro peut facilement les enlever en mettant à la fin :
VB:
.Columns(1).Replace ".0", "", xlPart 's'il y en a...
A+
 

Pièces jointes

  • test tri(1).xlsm
    24.8 KB · Affichages: 3

boguinette

XLDnaute Nouveau
Bonjour Job75 et le forum,

Je vous joins mon fichier avec la macro. Si je ne mets pas les zéro le tri se fait 1, 2, 3, 1.1.1...
(Je n'ai pas encore ajouter ce que vous m'aviez donné pour garder les hauteurs de ligne).
Merci pour l'aide..!
 

Pièces jointes

  • Grille audits internes VS BRCV8-IFSV7 essai 2.xlsm
    148.2 KB · Affichages: 2

job75

XLDnaute Barbatruc
A cause des 1 2 3... il faut mettre provisoirement la colonne A au format Texte avant de la trier, fichier (2) :
VB:
    '---1ère restitution et tri des valeurs textes---
    .Columns(1).NumberFormat = "@" 'format Texte
    .Columns(1) = tablo
    .EntireRow.Sort .Columns(1), xlAscending, Header:=xlYes 'lignes entières pour conserver les hauteurs
    .Columns(1).NumberFormat = "General" 'format Standard
    'Exit Sub 'activer si l'on veut voir les zéros
A+
 

Pièces jointes

  • Grille audits internes(2).xlsm
    149.5 KB · Affichages: 2

boguinette

XLDnaute Nouveau
Bonjour, et merci pour le temps passé...
Donc en fait mon soucis c'est que quand je clique sur le bouton de la macro, en fait tous les chapitres en 2 chiffres comme 1.1 par exemple, se transforment en 1... C'est pour ca que j'ai tout ces 1 / 2 /3...
Et sur le dernier tableau j'ai un zero qui se rajoute devant chaque chiffre sur les autres chapitres par exemple 02.01.01 au lieu de 2.1.1...
J'avoue que la je patauge un peu dans la semoule...
 

Pièces jointes

  • Grille audits internes(2).xlsm
    150.1 KB · Affichages: 3

job75

XLDnaute Barbatruc
Donc en fait mon soucis c'est que quand je clique sur le bouton de la macro, en fait tous les chapitres en 2 chiffres comme 1.1 par exemple, se transforment en 1... C'est pour ca que j'ai tout ces 1 / 2 /3...
Ah oui je n'avais pas fait attention à ça.

Alors dans ce fichier (3) je mets dès le début toute la colonne A au format Texte et je n'y touche plus :
VB:
With [A1].CurrentRegion
    .Cells(1).EntireColumn.NumberFormat = "@" 'colonne A au format Texte
 

Pièces jointes

  • Grille audits internes(3).xlsm
    150.2 KB · Affichages: 5

boguinette

XLDnaute Nouveau
Bonsoir à tous,

Je reviens vers vous, toujours concernant mon fichier que je souhaite trier. J'ai pu mettre la macro donnée par @job75, un grand merci, ca marche nickel !! J'ai une question, est ce du coup je pourrais faire ce tri sur 2 colonnes, c'est à dire, je trie la première colonne BRC, et ensuite à un 2ème niveau je trie la colonne IFS ? Aujourd'hui, je fais ce tri sur 2 feuilles différentes, mais je me demandais si c'était possible de faire tout sur une seule feuille...
Je mets mon fichier en pièce jointe.

Merci beaucoup !
 

Pièces jointes

  • Grille complète essai.xlsm
    44 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bonjour boguinette,

Le tri sur 2 colonnes, A puis D, n'a de sens que s'il y a des doublons en colonnes A.

Ce qui n'est pas vraiment le cas sur votre fichier !

Mais bon pour trier sur ces 2 colonnes il suffit de doubler les opérations, voyez le fichier joint.

Le tri ne modifie pas le fichier.

A+
 

Pièces jointes

  • Grille complète essai(1).xlsm
    44.7 KB · Affichages: 2

job75

XLDnaute Barbatruc
Si l'on veut trier sur une seule colonne, soit A soit D, voyez ce fichier (2).

La macro est paramétrée et lancée par ce code :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False 'désactive les évènements
If ActiveCell Like "Tri #" Then Tri IIf(Right(ActiveCell, 1) = "1", 1, 4): [A1].Select
Application.EnableEvents = True 'réactive les évènements
End Sub
 

Pièces jointes

  • Grille complète essai(2).xlsm
    43.6 KB · Affichages: 7

boguinette

XLDnaute Nouveau
Si l'on veut trier sur une seule colonne, soit A soit D, voyez ce fichier (2).

La macro est paramétrée et lancée par ce code :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False 'désactive les évènements
If ActiveCell Like "Tri #" Then Tri IIf(Right(ActiveCell, 1) = "1", 1, 4): [A1].Select
Application.EnableEvents = True 'réactive les évènements
End Sub
Bonjour !
Oui, la deuxième option serait top. Est ce que vous pourriez juste me l'expliquer ? Parce que là du coup je ne passe plus par le biais de l'insertion de boutons, liés à une macro ? Il faut quand même que j'enregistre la macro d'origine de tri, et après le code que vous m'avez donné juste au dessus (mais ce code s'enregistre en cliquant sur Virtual basic plutôt que sur macro ? Dans mon fichier définitif, tri 1 et tri2 ne seront pas sur la même ligne que l'exemple, cela change t il quelque chose ? Désolée c'est peut être un peu bête comme questions mais j'essaye de comprendre... :)
En tous cas, merci pour le temps passé ! La solution comme ca à l'air géniale pour mon utilisation...
Bonne journée.
 

job75

XLDnaute Barbatruc
Bonjour boguinette,

La macro précédente est une macro évènementielle à placer dans le code de la feuille (clic droit sur l'onglet et Visualiser le code).

Les textes Tri 1 et Tri 2 peuvent être dans n'importe quelles cellules.

A+
 

boguinette

XLDnaute Nouveau
Bonjour boguinette,

La macro précédente est une macro évènementielle à placer dans le code de la feuille (clic droit sur l'onglet et Visualiser le code).

Les textes Tri 1 et Tri 2 peuvent être dans n'importe quelles cellules.

A+
Bonsoir,

Un très grand merci !! Mon fichier est top avec ce tri... Et en plus maintenant j'y vois un peu plus clair dans l'utilisation des macros. Vraiment merci beaucoup !!
Bonne soirée :)
 

Discussions similaires

Réponses
4
Affichages
268

Statistiques des forums

Discussions
311 733
Messages
2 082 010
Membres
101 866
dernier inscrit
XFPRO