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

Trier les cellules vides en premier

  • Initiateur de la discussion Initiateur de la discussion Cougar
  • 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 !

Cougar

XLDnaute Impliqué
Bonjour le forum,

De quelle manière je dois écrire le code pour que, lors du tri, les cellules vides se retrouvent en haut de ma feuille ?

Pour le moment je n'ai que cela :
Cells.Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal

mais les cellules vides se retrouvent à la fin.

Il se peut que, bien que ma cellule soit vide, elle ait contenu un caractère qui fut effacé ce qui pourrait être mon problème.

Merci
 
Re : Trier les cellules vides en premier

Bonjour,

Une piste===>

Pardonne moi d'intervenir dans ton post sachant que je ne maîtrise pas vba mais pour avoir lu quelques codes dans les charmantes procédures que certains m'ont concoctées, il me semble qu'il manque quelque chose dans ton tri;

il faut lui dire un truc de ce style : Find(What:="") et une fois qu'il a trouvé rien dans les cellules, tu lui refais faire une boucle de tri ou alors il faut placer ce petit bout de code avec autre chose au début du tri...........à voir avec les spécialistes vba.
 
Re : Trier les cellules vides en premier

Bonsoir Celeda, le forum,

Serait-il possible d'être plus explicite par un exemple. J'ai recherché avec l'aide la fonction Find sans succès pour mon problème.

L'aide est toujours appréciée quelque soit la compétence. 🙂

Merci
 
Re : Trier les cellules vides en premier

Bonjour Cougar, Celeda 😉

Cougar, d'après ce que j'en sais pour le moment, de base Excel met les vides à la fin quelquesoit les critères de tri.
Il est possible peut-être de faire une pirouette (c'est facile d'identifier les cell vides dans une zonz de données, par colonne si onveut), ou alors il faut aborder le pb autrement avec des choses qui ne te sonr pas venues à l'idée ou que tu ne connais pas encore, le vivier des Exceldiens est là pour ça 🙂 .
Donc le mieux serait que tu exposes quelles fins tu vises, y a-t-il beaucoup de colonnes , ton soucis est-il de repérer les cell vides dans une colonne d'une zone de données etc....
Dans un cas, on peut identifier ces cells et créer une alerte par exemple, si on doit s'en tenir à la demande de base ces cells sont elles vierges (sans formules,...), on peut envisager alors de les répérer automatiquement et d'y placer un "." par défaut, du coup, elles se trouveront en tête de liste sur un tri croissant , bref ce n'est pas forcément les possibilités qui manquent, mais du coup c'est une affaire de contexte.....

Bon WE,
 
Re : Trier les cellules vides en premier

Bonjour Bricofire, Celeda, le forum,

La raison pour laquelle je veux avoir les cellules vides de la colonne A en premier que cette colonne alimente une combobox. Lorsque les cellules vides sont à la fin, la possibilité d'avoir une cellules vides n'apparaît pas dans la combobox.

Merci
 
Re : Trier les cellules vides en premier

Salut
Une astuce que j'ai déjà utilisée :
- je remplie les cellules vides avec "ZZZZZZZZZZ" ou 9999999999
- je fais mon tri
- j'efface les cellules contenant "ZZZZZZZZZZ" ou 9999999999
A+
 
Re : Trier les cellules vides en premier

Bonjour le fil,

Bon truc mais avec 4500 lignes avec la cellule en A...

Mais je garde pour le moment puisque cela semble la seule façon, jusqu'à maintenant, de parvenir à mes fins.

Merci
 
Re : Trier les cellules vides en premier

Cougar à dit:
Bonjour le fil,

Bon truc mais avec 4500 lignes avec la cellule en A...

Mais je garde pour le moment puisque cela semble la seule façon, jusqu'à maintenant, de parvenir à mes fins.

Merci
Salut
Je pas comprendu ton problème !!!
essaies cette macro
PHP:
Sub Macro1()
Dim Nb_L As Long

Cells.Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
    , Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, Header:= _
    xlGuess, OrderCustom:=1
If Range("B65536").End(xlUp) > Range("C65536").End(xlUp) Then
    Nb_L = Range("B65536").End(xlUp).Row
Else
    Nb_L = Range("C65536").End(xlUp).Row
End If
Range("A" & (Range("A65536").End(xlUp).Row + 1) & ":A" & Nb_L).Select
Selection.Value = "''"
Cells.Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
    , Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, Header:= _
    xlGuess, OrderCustom:=1
Nb_L = 2
Do
    If Range("A" & Nb_L) = "'" Then
        Range("A" & Nb_L).ClearContents
        Nb_L = Nb_L + 1
    Else
        Exit Do
    End If
Loop
End Sub
Code un peu capillo-tracté, mais ça devrait marcher pour ton problème

A+
 
Dernière édition:
- 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
2
Affichages
892
T
  • Question Question
Réponses
1
Affichages
2 K
L
Réponses
2
Affichages
1 K
L
M
  • Question Question
Réponses
4
Affichages
1 K
Mirguy23
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…