Erreur de tri sur données numériques

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
 

Catrice

XLDnaute Barbatruc
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

  • Classeur1.xls
    27.5 KB · Affichages: 57
  • Classeur1.xls
    27.5 KB · Affichages: 54
  • Classeur1.xls
    27.5 KB · Affichages: 63
Dernière édition:

chris59

XLDnaute Nouveau
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.
 

Discussions similaires

Réponses
2
Affichages
124
Réponses
5
Affichages
131