Mettre les cellules vides d'une plage en fin de plage

Fermé
René13 - 23 févr. 2016 à 11:40
via55 Messages postés 14477 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 3 octobre 2024 - 23 févr. 2016 à 16:45
Bonjour,

Je dispose d' Excel 2016 et dois résoudre le problème suivant :
une plage d'une ligne et de plusieurs colonnes comporte des cellules vides.
Je souhaiterais, sans supprimer des colonnes et sans trier les cellules, les ranger de façon à ce que toutes les cellules vides se retrouvent en fin de plage.

EXEMPLE

Avant rangement
A1 A2 A3 A4 A5 A6
10 1 7 10

Après rangement
Les cellules A1 et A2 sont inchangées. La cellule A3 contient la valeur7, la cellule A4 la valeur 10. Les cellules A5 et A6 sont vides.

Quelle fonction ou code peut réaliser cette opération?


Cordialement

3 réponses

via55 Messages postés 14477 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 3 octobre 2024 2 729
23 févr. 2016 à 13:47
Bonjour

Pas sur d'avoir tout compris, les cellules vides se retrouvent sur toute une ligne ou dans n'importe quelle colonne ?

Quoiqu'il en soit une possibilité :
En supposant les colonnes allant de A à D, dans la colonne E suivante, en E1 mettre la formule :
=SI(NB.VIDE(A1:D1)>0;2;1) et l'étirer au bas du tableau
Faire ensuite trier tout le tableau sur cette colonne D par ordre croissant

Cdlmnt
Via
0
Bonjour Via 55

Merci pour votre réponse.
Quand j'ai rédige ma question puis quand je l ai envoyé l'ordonnancement de mon tableau s'est automatiquement modifié.
Je le refais en mettant des tirets pour que cela ne se produise plus.

La plage, formée par une seule ligne, avant changement

A1A2A3A4A5A6
10 1 ____ 7 10
Les cellules A3 et A4 sont vides.
Après changement

A1A2A3A4A5A6
10 1 7 10____
Le contenu des cellules A5 et A6 s'est déplacé en A3 et en A4.
Le but est que de gauche à droite toutes les cellules ayant un contenu ne soit séparées par aucune cellule vide tout en restant dans l'ordre auquel elles sont apparues. Les cellules vides se retrouvent en fin de plage.


Cordialement
0
via55 Messages postés 14477 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 3 octobre 2024 2 729
Modifié par via55 le 23/02/2016 à 16:47
Re,

Oui j'avais bien compris le décalage ! As tu essayé la solution que te je t'indiquais, elle devrait convenir
Si tu ne veux tester que les cellules vides en colonne A il suffit de mettre dans la colonne supplémentaire
=SI(NB.VIDE(A1)>0;2;1)
et comme je disais précédemment tu fais trier ensuite ton tableau sur cette colonne supplémentaire, les lignes avec un vide en A auront la valeur 2 et seront reportées en bas

"L'imagination est plus importante que le savoir."    A. Einstein
0