Erreur de tri sur données numériques

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

chris59

XLDnaute Nouveau
Bonjour à tous,
J'ai un petit souci et je n'ai pas trouvé la réponse dans les différents posts.
J'ai créé un fichier excel avec macros qui est une liste de données qui se remplie à l'aide d'un formulaire.
Saisie directe ou via deux listes déroulantes associées à la fonction Index...

Une fois saisie les données des champs sont reproduits dans un range ciolonne avec la fonction REPT() et par l'intermédiaire de la macro ci-dessous, recopiées en valeur dans un autre range et ensuite recopiées au bas de la liste en transposition.
Peut-être un peu long comme procédure mais cela fonctionne bien.
La liste comprend des champs "texte" comme Nom, prénom club.. et des champs numériques comme âge et distance parcourue puisqu'il s'agit de répertorier les participants à une journée de la randonnée.
Parfois pour gagner du temps ou pour mettre à jour, des données sont inscrites directement dans la liste.
Quand je fais des tris sur les champs "texte" pas de problème.Par contre sur les champs numériques le tri s'effectue sur 2 catégories: en premier lieu,les fiches enregistrées via le formulaire (âge en mode descendant par ex) et en dessous les fiches remplies manuellement dans la liste(en mode desc également)
. Je n'arrive pas à résoudre ce problème même en reformatant les cellules en format nombre.
Quelqu'un peut-il m'aider?
En m'excusant pour la longueur de ce post, je suis loin d'être un expert.
Merci d'avance.



Sub Macro1()

Range("v5:V14").Select
selection.Copy
Range("w5:w14").Select
selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("W5:W14").Select
Application.CutCopyMode = False
selection.Copy

Sheets("Recapitulation").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("A65536").End(xlUp).Offset(1, 0).Select
Application.CutCopyMode = False

Sheets("Saisie").Select

End Sub
 
Re : Erreur de tri sur données numériques

Bonjour,

Il faudrait que le formulaire ecrive les données en numérique.
Par defaut elles sont en texte.
Tu peux utiliser Val ou Cdbl.

Ca evitera de faire des procedures tordues apres.

Voir le fichier joint.
 

Pièces jointes

Dernière édition:
Re : Erreur de tri sur données numériques

Bonjour CATRICE et grand merci pour ton éclairage.
Effectivement le test ESTNUM fut concluant, le format n'était pas le bon.
J'ai ajouté ce code pour formater ma colonne âge et tout baigne.

Dim Cel As Range
For Each Cel In Range("d3", [d3].End(xlDown))
Cel.Value = Val(Cel.Value)
Cel.NumberFormat = "00"
Next Cel

Encore merci.
Au plaisir.
 
- 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
10
Affichages
655
Réponses
18
Affichages
425
Réponses
2
Affichages
345
Réponses
17
Affichages
1 K
  • Question Question
Microsoft 365 Erreur de format
Réponses
5
Affichages
524
Retour