Problème de modification occasionnelle de cellules après un tri

Bonjour à tous,

J'ai un soucis avec une macro que j'ai codé pour l'entreprise dans laquelle je suis. C'est une macro très spécifique aux besoins et je ne pourrait malheureusement pas vous la partager car les consignes sont stricts là dessus mais je vais essayer de vous l'expliquer en détail.

La procédure est la suivante, la macro se lance sur un tableur Excel comportant plusieurs lignes. Chaque ligne est un patient différent et pour chaque patient on à une 20aine de champs avec des valeurs.

Ces champs sont le typage du patient et chaque champ est de la forme "26:01" ou "42:01/42:02" ou "15:02/15:04/15:06" ...etc. Soit deux nombres séparés par ":" et parfois plusieurs codes séparés par "/".

La macro vient lire chaque champ du patient et pour certains elle rencontre un code qu'elle doit décoder pour l'afficher dans la cellule sous le même schéma que précédemment.

Elle compare ensuite avec une référence et calcul un score pour le patient puis passe au suivant.

A la fin du fichier les lignes sont triées selon le score de chacune pour présenter en premier ceux avec le meilleur.

Le code de tri est le suivant :

ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=Columns(lastCol - 2) , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal 
    ActiveSheet.Sort.SortFields.Add Key:=Columns(lastCol - 1) , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal 
    ActiveSheet.Sort.SortFields.Add Key:=Columns(lastCol) , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range(Cells(cellEntete.row, 1), Cells(lastrow, lastCol + 3).Address)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Je tri donc selon trois colonnes (lastCol-2, lastCol-1 et lastCol).

Le problème est que certaines fois, assez rarement, après le tri final certaines cellules sont modifiées.

- Il s'agit uniquement de cellules comportant plusieurs codes (donc séparés par "/")
- Elles sont modifiées comme ceci, "42:01/42:03" devient "42:01/42:42" ; "15:02/15:04/15:06" devient "15:02/15:15" ; "12:01/12:05/12:06/12:25" devient "12:01/12:12"...

Comme vous voyez les codes sont ramenés à deux même s'il y en avait plus et le dernier numéro est toujours le même que le premier.

Ce problème ne peut pas venir du décodage car le score calculé avant de changer de patient est toujours bon donc à ce moment le code était complet.

Personnellement je penche pour un bug d'affichage d'Excel à cause des multiples ":" et "/" dans la même cellule. Le format des cellules est Texte donc je ne pense que ce que soit la cause.

Voilà si certains ont déjà eu ce problème merci de votre expérience et pour les pros d'Excel merci de votre avis

bonjour,

très difficile de t'aider sans voir le fichier ...

1) quel est le format de ces cellules ?

2) ces cellules contiennent des formules ?

Oui je me doute que c'est difficile sans le fichier, vraiment désolé mais je ne pourrait pas le partager entièrement.

1) quel est le format de ces cellules ?

Toutes les cellules sont au format Texte pour justement éviter que les données soient assimilées à des dates ou autre

2) ces cellules contiennent des formules ?

Non aucune formule dans le tableur

rebonjour,

essaie d'anonymiser ton classeur et si c'est le code de détermination du score qui est confidentiel, mets le classeur avec les données(y compris scores calculés) avant le tri et ton code de tri.

Merci beaucoup pour ton aide mais je ne pense pas que ce forum soit la solution la plus adaptée à mon problème et avec les restrictions que j'ai.

Je ne peux pas supprimer le sujet alors je met ton dernier message comme solution pour clore le débat.

Encore merci.

Rechercher des sujets similaires à "probleme modification occasionnelle tri"