Need : reformatage de tableurs : transposer des cellules par séquences

Bonjour,

dans le cadre de mon activité professionnelle, nous recevons des tableurs extraits des départements informatiques de certains hopitaux référents. Ces tableaux contiennent les données de tests de plusieurs patients, répétés sur plusieurs jours. La première colonne correspond au patient, répétés plusieurs fois. A chaque répétition est attribué un identifiant dit "visite"(J7, sortie, . Les visites sont les mêmes pour tous les patients. Les colonnes suivantes correspondent aux résultats obtenus aux différents tests (test 1,2,3,4,5,6) :

PATIENTDate du testRésultat Test 1résultat test 2résultat test 3Resultat test 4Résultat test 5Résultat test 6
P001J70246201
P001J10
P001J14
P001J211246211
P001J901246191
P001J1201255211
P001J2101235211

Pour pouvoir exploiter les données dans un logiciel de statistiques, j'ai été mandé pour reformater les fichiers tel que présenté dans l'onglet destination :

une seule ligne par patient, avec pour chaque patient, le résultat de chaque test pour chaque jour dans les colonnes

14forum-30mars.xlsm (23.60 Ko)

:

Résultat Test 1Résultat Test 1Résultat Test 1Résultat Test 1Résultat Test 1Résultat Test 1Résultat Test 1résultat test 2résultat test 2résultat test 2résultat test 2résultat test 2résultat test 2
J7J10J14J21J90J120J210J7J10J14J21J90J120
P001011112222
P002

Le tableur destination sera ainsi formaté pour l'analyse statistique.

J'ai essayé d'enregistrer une macro pour faire le boulot, mais j'ai rapidement atteint mes limites, je ne sais pas comment réaliser une boucle... Et la solution manuelle n'est pas envisageable, j'ai déjà 14 fichiers de chacun 1500 lignes.

J'oubliais : les cases vides doivent être transposées afin d'être prises en compte par l'analyse statistique...

Je vous remercie par avance pour votre aide, le moindre conseil me sera des plus précieux. Nous avons énormément de travail sur le projet en question compte tenu du contexte actuel et pas de temps pour me former en ligne.

Dans l'attente de vous lire, je me remets à votre expertise,

très cordialement

PG

Bonjour,

Pas fan des macro multi copier coller donc une formule matricielle (validation par CTRL+SHIFT+ENTER) avec table de donnée structurée puis ensuite juste un copier coller les valeurs. Si des patients sont ajoutés il faut tirer la formule.

S'il faut vraiment passer par macro je regarderais.

Etes-vous certain de la version EXCEL ? Sinon on peut passer par POWER QUERY.

Cdlt,

Etrange : vous avez combien de patients ? Je suppose plus que les 9 proposés dans l'exemple.

Bonjour Optimix,

De ce que j'ai compris c'est variable, mais comme des fichiers sont a 1 500 lignes ça ferait 215 patients. J'espère juste que chacun a un ID unique.

Je te laisse proposer une solution VBA si le cœur t'en dit et l'étudierais avec attention. Mais j'avais peur que des C/C en boucle ai un temps d’exécution ... Fastidieux :)

Cdlt,

Bonjour Ergatomine,
Ce n'est pas ça qui m'inquiète, c'est le format étrange adopté pour identifier les clients. P000, ça limite la clientèle à 999 patients. J'ai peur qu'une fois de plus on ne nous dise pas tout au départ.

Bonjour,
Les données ont probablement été anonymisées en effet. Ca change quelque chose qu'elles soient textuelles (nom-prénom) ou numériques (numéro d'identification du patient) sur ta façon de traiter le cas ?
Cdlt,

Bonjour, merci pour vos réponses.

Les données sont anonymisees pour les utiliser. Chaque patient se voit attribuer un identifiant unique Pnnn, P correspond à l’identifiant attribué à l’hôpital qui nous adresse les données, nnn correspondant à l’ordre chronologique de déclaration du cas. Il y a en tout 210 sujets par centré d’où les trois digits La loi nous impose de ne pas connaître le nom et le prénom du sujet, il n’y a donc que cet identifiant unique que nous utilisons. Pour éviter d’avoir un fichier fastidieux à lire, j’ai simplifié en laissant 9 sujets. Les valeurs obtenues pour les tests sont des entiers naturels.
la version d’excel est bien 2007 (informatique hospitalière).
Le VBA n’est pas une obligation, c’est juste que je pensais pouvoir résoudre la question avec les outils présents dans la barre d’outils. Pour ne rien vous cacher, je ne suis pas data manager, je suis plus versé dans la biologie des essais cliniques ‘... dans le cadre du plan blanc, nous avons été redéployés sur des postes sur la base du volontariat.
je suis preneur de toute solution efficace 🙂

En tout cas, merci d’avoir pris en compte ma demande aussi rapidement.

Bonjour,

Je laisse Optimix vous proposer sa solution, vous verrez laquelle est la plus pratique pour vous et répond à vos besoins entre formule ou VBA.

Cdlt,

Merci pour ces infos. En ne donnant que les ID sans les noms, "P001" était anonyme, donc aurait pu être un identifiant réel.
Vu sous cet angle, les choses sont plus simples. J'aurai donc une proposition à faire en VBA, dès qu'elle sera prête.

merci beaucoup!!

Que signifie cette ligne 62 pleine de "N" ?

Une dernière question : je suppose que le nombre de tests pour une personne est variable. Tu confirmes ?

la colonne 62 est un oubli de ma part, cela signifie Not Done. Les patients ont tous le même nombre de tests, il s’agit d’une batterie standard réalisée à intervalles donnés.

Ligne 62 pas colonne, désolé

Désolé pour le retard, une urgence. Essaye ceci et on adapte au besoin.

18forum-30mars.xlsm (29.97 Ko)

Bonjour !

Ergotamine, Optimix,

les solutions fonctionnent très bien ! la formule matricielle me semble un peu plus lente que la macro de Optimix( ça se joue en millisecondes...) , sans réel impact sur le résultat final, qui dans les deux cas est fidèle aux données de départ. Deux abord différents qui me donnent plus de latitude pour la solution.

Un grand merci à tout les deux pour votre sollicitude et votre efficacité, vous m'enlevez une sacrée épine du pied. Je ne manquerais de signifier à ma hiérarchie votre apport dans la résolution du problème ! A César ce qui lui revient !

Si tu fais ça, tu ne seras jamais augmenté (conseil d'ancien ). Au plaisir.

je suis contractuel de la fonction publique, je ne serai jamais augmenté

Bonjour Optimix,

Bonjour Ergotamine,

Ce petit post pour vous informer que j'ai pu tester vos solutions sur les différents fichiers, tout c'est bien passé, les données ont été envoyées aux statisticiens !

Encore merci et bon weekend (enfin ...)

Retour sympa. Merci et à la prochaine.

Bonjour à Tous,

je tenais à poster ce message pour vous remercier de votre intérêt pour la question que j'ai posé et pour les différentes réponses que vous avez apportées.

Pour faire suite à ce post, je tenais également à vous dire que, grâce à vous, nous avons pu faire une avancée significative sur la prise en charge des patients à COVID longs, notamment sur le suivi psychiatrique. Cela a permis une réelle amélioration de la condition des malades.

Merci à tous !

PG

Rechercher des sujets similaires à "need reformatage tableurs transposer sequences"