Extraire des données à partir d'un fichier texte
Bonjour,
Merci beaucoup pour votre aide. J'ai trouvé un moyen beaucoup plus rapide pour que les "points" ne posent plus de problèmes: dans les options Excel, puis Options Avancées, il y a une option d'édition qui s'appelle Utiliser les séparateurs système. Il faut alors remplir la case Séparateur de décimale avec ","
J'ai réussi à afficher une InputBox où l'utilisateur choisit la localisation et la dose prescrite.
Par contre, j'aimerai savoir s'il était possible de plus avoir à cliquer sur suivant 2 fois puis sur Terminé. Es-ce possible de la faire automatiquement?
Merci
Marguerite
Salut,
Personnellement je ne sais pas. Eventuellement que tu devrais ouvrir un nouveau fil uniquement à ce sujet.marguerite_50 a écrit :Par contre, j'aimerai savoir s'il était possible de plus avoir à cliquer sur suivant 2 fois puis sur Terminé. Es-ce possible de la faire automatiquement?
Cordialement.
Bonjour,
Comment pourrait-on faire pour récupérer la valeur de la colonne A juste avant le premier zéro de la colonne B? Autrement dit, pour le ROI PTV, le premier zéro de la colonne B est situé à la ligne 6833, la valeur à récupérer est donc la cellule A6832 (soit une ligne au dessus du dernier zéro)?
Merci beaucoup
Marguerite
Salut,
Nous avions déjà parlé de tout ceci précédemment, mais tu avais un peu abandonné la discussion.
Je pense qu’il y a deux possibilités de rechercher la valeur voulue pour chaque ROI. Soit on part depuis le haut et lorsque l’on trouve le premier zéro on sait que la ligne d’avant est celle voulue, soit on part de puis le bas, on ignore la dernière ligne et on recherche la première valeur supérieure à zéro en remontant.
Dans la première variante, il faut absolument être certain qu’il n’y a pas de valeur zéro au milieu des autres chiffres – donc que se sont bien des valeurs absolument décroissantes – dans la seconde variante, il faut être certain que seule cette dernière ligne comporte une valeur supérieure à zéro et dont il ne faut pas tenir compte. Si cette dernière condition est absolument certaine, ça me paraitrait la plus intéressante.
Dans tous les cas, es-tu certaines qu’il y a toujours des valeurs 0 ou est-ce qu’il est possible que la valeur à rechercher pourrait être l’avant dernière (dans le cas où tu me confirmes qu’il ne faut jamais tenir compte de la dernière valeur) ?
Je ne sais plus trop où tu en es avec tes codes. Est-ce que ma dernière macro a été modifiée par la suite ? Si oui, ce serait peut-être bien que tu me fournisses la macro actuelle avant que je me lance dans la modification désirée.
Cordialement.
Bonjour,
Je pense également qu'il serait préférable de faire la recherche avec la deuxième possibilité. La dernière valeur est effectivement à ne pas prendre en compte. Il y a toujours des valeurs nulles à partir d'une certaine ligne et jusqu'à l'avant-dernière ligne.
Oui j'ai effectivement modifié la macro que tu m'avais envoyée. Une InputBox demande à l'utilisateur quelle localisation il souhaite utiliser (choix entre 6 possibilités) puis le code correspondant à la localisation choisie s'exécute. Voici la macro modifiée:
Par exemple, pour la localisation loge prostatique, il faudrait en plus que pour la tfd, la dose max soit affichée. Le fichier texte envoyé précédemment correspond à la localisation loge prostatique.
Merci,
Marguerite
J'ai oublié de préciser: quand on lance la macro, après avoir sélectionner le fichier du patient, il faut taper 1 (pour loge prostatique) puis 66 (pour la dose de prescription, la macro va automatiquement multiplier cette dose de prescription par 100).
Merci
Marguerite
Salut,
J'ai regardé ton fichier mais même en suivant exactement tes instructions, ça bloque à chaque fois
Je te conseille aussi d'indiquer ce fil comme résolu et de lancer une nouvelle discussion pour ton nouveau problème, peu de membre s'intéressant encore à un fil déjà bien entamé. C'est dommage, car j'aurais vraiment eu plaisir à continuer le travail que j'avais commencé pour toi.
Cordialement.
Bonjour,
La macro a un volume plus important. Je l'ai encore modifiée en plaçant chaque localisation dans une macro différente. Suivant le choix de l'utilisateur quand à la localisation, la macro "principale" renvoie vers la macro correspondante. Chez moi, cela fonctionne parfaitement bien.
Je te remercie très chaleureusement pour tout le travail que tu as fourni.
Je vais lancer une nouvelle discussion afin de résoudre ce dernier petit souci.
Encore merci
Marguerite
Salut,
Suite à ma réponse d'hier, j'ai pensé que je pouvais transformer ma macro selon ton dernier désir puis que tu appliques cette solution à tes macros (mais il est très probablement inutile d'avoir plusieurs macros parallèles ; vaut mieux avoir une seule macro qui fonctionne bien que 3 ou 4 qu'il faut modifier 3 ou 4 fois avec des risques d'erreurs 3 ou 4 fois plus grand
Si cette solution t'intéresse, fais le moi savoir et je m'y attèle un de ces jours, mais j'espère que tu comprennes que je n'ai aucune envie de mettre mon nez dans des codes que je trouve extrêmement compliqués.
Amicalement.
Oui cela me parait une excellente idée.
Je comprends tout à fait que ce code soit imbuvable, pas de problème.
Merci
Marguerite
Re-bonjour,
Tout d’abord je voudrais te dire que ce n’est pas évident de se replonger dans une ancienne macro assez complexe, car il faut à nouveau l’étudier de fond en comble. Donc si tu peux réagir plus rapidement, c’est mieux. Mais laisse toi quand même le temps de préparer tes réponses afin d’éviter les messages « à rallonge », toujours plus difficiles à comprendre.
Dans le fichier ci-joint, j’ai modifié mon code initial afin qu’il recherche la dernière valeur non nulle des ROI qui ont une valeur Dmax à trouver. Comme je n’ai pas vraiment compris ce que tu désires faire avec la valeur ainsi trouvée, je te l’ai simplement mise dans un MsgBox afin que tu puisses voir l’utilisation possible des variables ainsi déterminées.
La modification de mon code a été nécessaire à plusieurs endroits différents ; je présume que ce ne sera pas évident à transposer dans ton code personnel
Cordialement.
Bonjour,
J'ai transposé les modifications de ton code vers mon code, et ça marche !!!
C'est parfait, merci beaucoup!
Marguerite