Inscrire une valeur en fonction du résultat d'une autre Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
A
Abougor
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 15 août 2017
Version d'Excel : 2016

Message par Abougor » 3 septembre 2017, 16:11

Bonjour
Je dispose de tableaux Excel avec des résultats d’analyses biologiques.
A partir de la ligne 3, en colonne I, pour chaque ligne, on retrouve en valeur soit la lettre N, soit i soit s (qui correspond à Normal, inférieur et supérieur).
Les cellules de la colonne A sont vides.
J’aimerais une macro qui observe chaque ligne (à partir de la 3ème) et inscrive en colonne A dans la cellule correspondante ce symbole (=>) si la valeur i ou s est trouvée en colonne I.
Pouvez-vous m’aider ?
Cordialement
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 2'163
Appréciations reçues : 237
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 3 septembre 2017, 16:44

Bonjour abougor, le forum:

A tester: code à placer dans le module de la feuille concernée
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim DernLigne As Long
DernLigne = Range("I" & Rows.Count).End(xlUp).Row

For x = 3 To DernLigne  ' de la ligne 3 à la dernière ligne remplie

If Range("I" & x).Value = "i" Or Range("I" & x).Value = "s" Then  ' si la cellule I contient "i" ou "s" alors

Range("A" & x).Value = "(=>)"   'on écrit (=>) dans la cellule A correspondante
End If

Next x   'fin de la boucle

End Sub
Cordialement,
abougor.xlsm
(15.02 Kio) Téléchargé 9 fois
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
A
Abougor
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 15 août 2017
Version d'Excel : 2016

Message par Abougor » 3 septembre 2017, 17:04

La macro ne signale pas d'erreur mais (=>) n'apparait pas devant les valeurs anormales.
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 2'163
Appréciations reçues : 237
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 3 septembre 2017, 17:12

Re,

Dans le fichier que je t'ai joint, si tu écris i ou s dans la colonne I, (=>) s'inscrit bien dans la colonne A , du moins chez moi ça fonctionne :?:
J'ai apporté une petite modif, si I ne contient pas i ou s, alors A est vide.

Tu as bien placé le code dans le module de la feuille ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim DernLigne As Long
DernLigne = Range("I" & Rows.Count).End(xlUp).Row

For x = 3 To DernLigne

If Range("I" & x).Value = "i" Or Range("I" & x).Value = "s" Then

Range("A" & x).Value = "(=>)"

Else

[surligner]Range("A" & x).Value = ""[/surligner]  'sinon A reste vide

End If

Next x

End Sub

Si tu préfères une macro associée à un bouton :
Sub Bouton1_Cliquer()

   Dim DernLigne As Long
   DernLigne = Range("I" & Rows.Count).End(xlUp).Row

For x = 3 To DernLigne

   If Range("I" & x).Value = "i" Or Range("I" & x).Value = "s" Then

      Range("A" & x).Value = "(=>)"

   Else

      Range("A" & x).Value = ""

   End If

Next x

End Sub
abougor2.xlsm
(19.53 Kio) Téléchargé 4 fois
abougor.xlsm
(15.06 Kio) Téléchargé 6 fois
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
A
Abougor
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 15 août 2017
Version d'Excel : 2016

Message par Abougor » 3 septembre 2017, 17:28

Rebonjour
J'ai modifié la macro car la colonne s i ou N est maintenant en H mais rien à faire rien ne s'affiche.
Ci joint le classeur
Classeur1.xls
(20.5 Kio) Téléchargé 10 fois
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 2'163
Appréciations reçues : 237
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 3 septembre 2017, 17:54

Re,

Effectivement, ta colonne H posait problème, je ne comprends pas pourquoi :?:
Pour contourner le problème, je l'ai supprimée puis insérée à nouveau, et là, ça fonctionne (du moins avec mon excel 2010).

En espérant que cela fonctionne chez toi :wink:

Tu écris N ou i ou s dans la colonne H et tu valides par entrée, (=>) doit s'afficher en A

Cordialement,
abougor4.xlsm
(17.99 Kio) Téléchargé 9 fois
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
A
Abougor
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 15 août 2017
Version d'Excel : 2016

Message par Abougor » 3 septembre 2017, 22:22

Rien à faire...
J'ai testé cette macro dans tous les sens, mais je suis vraiment néophyte.
Ci-joint le classeur contenant la macro (biosup) exécutée et le tableau avec son aspect final (sans les (=>) qui ne veulent pas s'inscrire..).
Et un classeur sans macro avec les données telles que les reçois.
Je ne comprend pas...
Tableau brut.xls
(24 Kio) Téléchargé 6 fois
Classeur macro.xls
(53.5 Kio) Téléchargé 11 fois
Modifié en dernier par Abougor le 4 septembre 2017, 12:03, modifié 2 fois.
Avatar du membre
xorsankukai
Membre impliqué
Membre impliqué
Messages : 2'163
Appréciations reçues : 237
Inscrit le : 7 octobre 2014
Version d'Excel : 2010 FR

Message par xorsankukai » 4 septembre 2017, 09:30

Bonjour abougor,

Je suis désolé, mais je vais devoir passer la main, je ne comprends pas pourquoi ça ne fonctionne pas sur ton fichier.
Je ne parviens pas à solutionner le problème, quelque chose m'échappe, peut-être à creuser du côté de la récupération des données ? :scritch:
Nul doute qu'un pro du forum saura t'apporter la solution :wink:

Bon courage,

Cordialement,
xorsankukai

La connaissance, c’est partager le savoir qui nous fait grandir.
A
Abougor
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 15 août 2017
Version d'Excel : 2016

Message par Abougor » 4 septembre 2017, 12:04

Merci pour ton aide. C'est vraiment sympa.
A
Abougor
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 15 août 2017
Version d'Excel : 2016

Message par Abougor » 4 septembre 2017, 23:45

Bonjour
Quelqu'un a t'il une idée ?
Cordialement
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message