Tri sur colonne avec cellule vide
Fermé
Lecorsaire35
Messages postés
3
Date d'inscription
jeudi 18 septembre 2014
Statut
Membre
Dernière intervention
19 septembre 2014
-
18 sept. 2014 à 00:26
Raymond PENTIER Messages postés 58801 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 janvier 2025 - 20 sept. 2014 à 02:59
Raymond PENTIER Messages postés 58801 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 janvier 2025 - 20 sept. 2014 à 02:59
A voir également:
- Tri sur colonne avec cellule vide
- Trier colonne excel - Guide
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Comment supprimer une page vide sur word - Guide
- Excel cellule couleur si condition texte - Guide
4 réponses
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 739
Modifié par via55 le 18/09/2014 à 00:52
Modifié par via55 le 18/09/2014 à 00:52
Bonsoir
Une possibilité avec un bricolage maison :
En suposant les noms en A les montants en B et les sommes en C et commençant en ligne 3, en D3 mettre la formule suivante :
=SOMME.SI(A:A;A3;B:B)+(CODE(GAUCHE(A3;1))*1000000+CODE(STXT(A3;2;1))*1000+CODE(STXT(A3;3;1)))/1000000000
qui compose un nombre formé pour sa partie entière de la somme correspondant à une personne et en partie décimale des codes des 3 premières lettres du nom mis bout à bout
Faire ensuite le tri sur cette colonne D quipeut être masquée si nécessaire ça n'empêche pas le tri
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Une possibilité avec un bricolage maison :
En suposant les noms en A les montants en B et les sommes en C et commençant en ligne 3, en D3 mettre la formule suivante :
=SOMME.SI(A:A;A3;B:B)+(CODE(GAUCHE(A3;1))*1000000+CODE(STXT(A3;2;1))*1000+CODE(STXT(A3;3;1)))/1000000000
qui compose un nombre formé pour sa partie entière de la somme correspondant à une personne et en partie décimale des codes des 3 premières lettres du nom mis bout à bout
Faire ensuite le tri sur cette colonne D quipeut être masquée si nécessaire ça n'empêche pas le tri
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Lecorsaire35
Messages postés
3
Date d'inscription
jeudi 18 septembre 2014
Statut
Membre
Dernière intervention
19 septembre 2014
19 sept. 2014 à 15:58
19 sept. 2014 à 15:58
Merci Via55 de s'être penché sur le problème. J'ai pas tout compris dans la formule mais je l'ai copiée collée en D3 mais le résultat est surprenant !
Le tri ne me permettra pas d'obtenir ce que je souhaitais Mais je vais réessayer à tête reposée.
Merci d'avoir recherché une solution.
Codialement
Le tri ne me permettra pas d'obtenir ce que je souhaitais Mais je vais réessayer à tête reposée.
Merci d'avoir recherché une solution.
Codialement
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 739
19 sept. 2014 à 16:17
19 sept. 2014 à 16:17
Bonjour
La formule peut se décomposer ainsi :
=SOMME.SI(A:A;A3;B:B) fait la somme des montants pour un nom ce qui donne par exemple 150 pour MARTIN 150 apparaitra en colonne D à chaque ligne de MARTIN mais ce n'est pas suffisant pour faire le tri par ordre décroissant car 2 personnes différentes peuvent avoir le même montant d'où la 2ème partie :
+(CODE(GAUCHE(A3;1))*1000000 qui renvoie le code ASCII de la 1ere lettre à gauche du nom soit pour martin m donne le code 109 qu'on mutiplie par 1 M soit 109000000
+CODE(STXT(A3;2;1)) qui renvoie le code ASCII du 2eme caractère soit ici a renvoie 97 qu'on multiplie par 1000 donc 97000
+CODE(STXT(A3;3;1) qui renvoie le code ASCII du 3eme caractère soit ici r renvoie 114
l'addition des 3 donne le nombre 109097114 caractérisant martin qu'on divise par 1 Ma pour obtenir 0,109097114 qu'on additionne au montant 150
toutes les lignes martin sont donc repérées par 150,109097114
Un mamouni qui aurait lui aussi un total de 150 sera repéré par 150,109097109
La colonne D ne comportant que des nombres elle peut être triée en ordre décroissant et les lignes concernant une même nom restent groupées
Cdlmnt
La formule peut se décomposer ainsi :
=SOMME.SI(A:A;A3;B:B) fait la somme des montants pour un nom ce qui donne par exemple 150 pour MARTIN 150 apparaitra en colonne D à chaque ligne de MARTIN mais ce n'est pas suffisant pour faire le tri par ordre décroissant car 2 personnes différentes peuvent avoir le même montant d'où la 2ème partie :
+(CODE(GAUCHE(A3;1))*1000000 qui renvoie le code ASCII de la 1ere lettre à gauche du nom soit pour martin m donne le code 109 qu'on mutiplie par 1 M soit 109000000
+CODE(STXT(A3;2;1)) qui renvoie le code ASCII du 2eme caractère soit ici a renvoie 97 qu'on multiplie par 1000 donc 97000
+CODE(STXT(A3;3;1) qui renvoie le code ASCII du 3eme caractère soit ici r renvoie 114
l'addition des 3 donne le nombre 109097114 caractérisant martin qu'on divise par 1 Ma pour obtenir 0,109097114 qu'on additionne au montant 150
toutes les lignes martin sont donc repérées par 150,109097114
Un mamouni qui aurait lui aussi un total de 150 sera repéré par 150,109097109
La colonne D ne comportant que des nombres elle peut être triée en ordre décroissant et les lignes concernant une même nom restent groupées
Cdlmnt
Lecorsaire35
Messages postés
3
Date d'inscription
jeudi 18 septembre 2014
Statut
Membre
Dernière intervention
19 septembre 2014
19 sept. 2014 à 19:07
19 sept. 2014 à 19:07
Merci Via 55 de se complément d'infos je vais tester cela calmement ce week-end.
Ma collègue vient de me poser une nouvelle colle:
Pour ne pas avoir de tableau avec des colonnes à rallonges pour faciliter la mise en page et l'impression, elle à collé sur plusieurs colonnes une série de montants de factures à traiter:
colonne A Colonne B Colonne C ........
123 15 45
46 85 22
85 78 185
Existe t-il une façon simple de trier par ordre croissant ou décroissant l'ensemble des cellules en les sélectionnant toutes ?
La fonction habituelle d'Excel le faisant que par colonne.
Désolé de vous mettre encore à contribution.
Ma collègue vient de me poser une nouvelle colle:
Pour ne pas avoir de tableau avec des colonnes à rallonges pour faciliter la mise en page et l'impression, elle à collé sur plusieurs colonnes une série de montants de factures à traiter:
colonne A Colonne B Colonne C ........
123 15 45
46 85 22
85 78 185
Existe t-il une façon simple de trier par ordre croissant ou décroissant l'ensemble des cellules en les sélectionnant toutes ?
La fonction habituelle d'Excel le faisant que par colonne.
Désolé de vous mettre encore à contribution.
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 739
19 sept. 2014 à 19:14
19 sept. 2014 à 19:14
Re
Il faut faire un choix soit un tableau facile à trier soit un tableau privilégiant la mise en page !
De façon simple je ne vois pas, il faut soit par formules créer un second tableau (sur une autre feuille) ordonné avec GRANDE.VALEUR comme le suggère si bien Raymond que je salue au passage, soit le faire par une macro en VBA
Cdlmnt
Il faut faire un choix soit un tableau facile à trier soit un tableau privilégiant la mise en page !
De façon simple je ne vois pas, il faut soit par formules créer un second tableau (sur une autre feuille) ordonné avec GRANDE.VALEUR comme le suggère si bien Raymond que je salue au passage, soit le faire par une macro en VBA
Cdlmnt
Raymond PENTIER
Messages postés
58801
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
17 264
Modifié par Raymond PENTIER le 19/09/2014 à 18:35
Modifié par Raymond PENTIER le 19/09/2014 à 18:35
Lecorsaire35, bonjour, et bienvenue parmi les membres de CCM.
D'une manière générale, on ne fait des tris que sur des données.
Jamais sur des formules.
Comme via55, que je salue, je ne peux te proposer qu'une combinaison de manipulations et de formules.
Si ton tableau est en A2:C9, il faut ajouter un petit tableau en E1:F4 pour totaliser les montants de factures par client (avec la fonction SOMME.SI) et un autre petit tableau en H1:I4 pour ordonner ces montants (avec la fonction GRANDE.VALEUR en I:I puis la fonction RECHERCHEV en H:H) : https://www.cjoint.com/?DItsMI4H8Xk
Cordialement.
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
D'une manière générale, on ne fait des tris que sur des données.
Jamais sur des formules.
Comme via55, que je salue, je ne peux te proposer qu'une combinaison de manipulations et de formules.
Si ton tableau est en A2:C9, il faut ajouter un petit tableau en E1:F4 pour totaliser les montants de factures par client (avec la fonction SOMME.SI) et un autre petit tableau en H1:I4 pour ordonner ces montants (avec la fonction GRANDE.VALEUR en I:I puis la fonction RECHERCHEV en H:H) : https://www.cjoint.com/?DItsMI4H8Xk
Cordialement.
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
Raymond PENTIER
Messages postés
58801
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
17 264
20 sept. 2014 à 02:59
20 sept. 2014 à 02:59
Si j'ai bien compris la question du post #5, il suffit d'insérer en première position une colonne avec en A2 la formule =SOMME(B2:ZZ2) à recopier vers le bas.
Le tri se fera par rapport à la colonne A.
Le tri se fera par rapport à la colonne A.