Menu

Création d'une variable dichotomique

Christine_07 2 Messages postés mardi 2 janvier 2018Date d'inscription 2 janvier 2018 Dernière intervention - 2 janv. 2018 à 17:05 - Dernière réponse : yg_be 5307 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 25 avril 2018 Dernière intervention
- 2 janv. 2018 à 18:56
Bonjour,

Je veux mettre en place une macro pour la création d'une nouvelle variable dichotomique. Par exemple, sur la base ci-dessous, je veux établir les suivantes critères: pour la variable Age (colonne B, si la valeur est dans l'intervalle "<30 ans", la nouvelle variable (elle doit apparaître dans la colonne C) doit avoir la variante de réponse ''Oui". Puis, si la meme valeur n'est pas inclue dans l'intervalle "<30 ans", on doit avoir la valeur "Non".

J'ai besoin de votre aide, si c'est possible.
Merci d'avance. :)
Afficher la suite 

6 réponses

Répondre au sujet
yg_be 5307 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 25 avril 2018 Dernière intervention - 2 janv. 2018 à 18:56
+2
Utile
suggestion:
Public Sub age()
Dim colB As Range, cel As Range
Set colB = Intersect(ActiveSheet.[B:B], ActiveSheet.UsedRange)
For Each cel In colB
    If IsNumeric(cel) And Not IsEmpty(cel) Then
        If cel < 30 Then
            cel.Offset(0, 1) = "Oui"
        Else
            cel.Offset(0, 1) = "Non"
        End If
    End If
Next cel
End Sub
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de yg_be
Patrice33740 6799 Messages postés dimanche 13 juin 2010Date d'inscription 19 avril 2018 Dernière intervention - 2 janv. 2018 à 17:44
0
Utile
2
Bonjour

Et pourquoi pas une simple formule avec un résultat dichotomique :
=SI(B2<30;"Oui";"Non")
Christine_07 2 Messages postés mardi 2 janvier 2018Date d'inscription 2 janvier 2018 Dernière intervention - 2 janv. 2018 à 17:47
Merci, mais j'ai besoin du code vba.
Patrice33740 6799 Messages postés dimanche 13 juin 2010Date d'inscription 19 avril 2018 Dernière intervention - 2 janv. 2018 à 17:53
Postes le code que tu as déjà écrit pour qu'on comprenne le contexte !
Commenter la réponse de Patrice33740
Frollo.groovy 3 Messages postés dimanche 2 mai 2010Date d'inscription 2 janvier 2018 Dernière intervention - Modifié par Frollo.groovy le 2/01/2018 à 17:50
0
Utile
Ce n'est pas un test dichotomique mais un simple test conditionnel.
Sur Excel de mémoire dans la case où tu veux le résultat, par exemple C2, entre la formule :

=SI(B2<30;"Oui";"Non")

et répète la formule vers le bas (les lignes de B2 doivent changer en B3, B4...)

Pour supprimer les "Non" inutiles, il faut imbriquer une deuxième conditions dans la troisème partie de ton SI relative au test B2<30 non vrai. Par exemple :

=SI(B2<30;"Oui"; SI(B2="";"";"Non"))

La formule se lit : SI la case avant à gauche est inférieur à 30, affiche "Oui", sinon, SI la case avant à gauche est vide affiche une case vide (""), sinon affiche "Non".
Idem, faut répéter la formule en tirant le petit carré vers le bas de C2
On aurait pu écrire aussi :

=SI(B2="";""; SI(B2<30;"Oui";"Non"))

as you like...
Commenter la réponse de Frollo.groovy
yg_be 5307 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 25 avril 2018 Dernière intervention - 2 janv. 2018 à 18:49
0
Utile
bonjour, peux-tu compléter ton exemple avec le résultat que tu souhaites?
Commenter la réponse de yg_be