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

F

FRED

Guest
Bonjour à toutes et à tous.

j'ai une macro qu me fait des siennes.
Elle doit me faire un classement du plus grand au plus petit (descending) mais quand j'ai zéro dans la colonne, elle me met le Zéro en 1er et ensuite seulement du plus grand au plus petit ?!!

Voici cette macro :
Sub FINAL()
'
' FINAL Macro
' Macro enregistrée le 30/01/2001
' Sélection de la feuille
' Sheets("Classement final").select
Range("C7:N16").Select
Range("N7").Activate
Selection.Sort Key1:=Range("N7"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub


Merci par avance si vous avez une idée du pourquoi du comment ce fait-il que la zéro se retrouve en premier et non en dernier ?!
 
C'est bon j'ai trouvé.

Je m'explique le résultat de zéro obtenu l'est par la formule suivante :

=SI(I16="VIDE";"ERREUR A CORRIGER";SI(K16="OUBLI";"ERREUR A CORRIGER";(SI(OU(matin!C10="ABSENT";aprèsmidi!C10="ABSENT");"0";SI(OU(J16="CASE VIDE";J16="ERREUR SAISIE");"ERREUR A CORRIGER";SI(J16=0;0;I16+J16+K16-M16))))))

Le format de la celulle est nombre avec 2 décimales après la virgule.

Comme on peut le voir, j'ai mis dans la forumule : aprèsmidi!C10="ABSENT");"0";

Le résultat zéro devant s'afficher alors que mon format de cellule est 0,00 (puisque 2 décimales) je viens de tester en enlevant les "" devatn et derrière le Zéro et cela fonctionne impec, au liue de me mettre un zéro totu seul , il me met 0,00 et alors la macro fonctionne en me mettant el zéro à la fin.

Merci à toutes et à tous.
 
Bonsoir Fred et Creepy

Je pense que c'est à cause du format des nombres dans les cellules.

Essayes avant de trier de mettre en forme puis de trier.

par exemple comme dans la macro suivante :

Sub FINAL()
Sheets("Feuil1").Activate
Range("C7:N16").NumberFormat = "General"
Range("C7:N16").Sort Key1:=Range("N7"), Order1:=xlDescending
End Sub

Cordialement

Bernard
 
Merci Bernard,

J'ai résolu le problème, mais j'ai adopté tout de même en plus ta macro.

Par contre comment faire pour que cette macro ne mette pas d'office en 1er (classement descending) les celulles qui contenant du texte.

Y a-t-il une solution pour que cela mette les cellules texte à la suite du classement ?!

Merci par avance à toute et à tous.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 macro vba sumifs
Réponses
5
Affichages
653
Retour