Création d'une variable dichotomique

Fermé
Christine_07 Messages postés 2 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 2 janvier 2018 - 2 janv. 2018 à 17:05
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 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. :)
A voir également:

4 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
2 janv. 2018 à 18:56
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
2
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
2 janv. 2018 à 17:44
Bonjour

Et pourquoi pas une simple formule avec un résultat dichotomique :
=SI(B2<30;"Oui";"Non")
0
Christine_07 Messages postés 2 Date d'inscription mardi 2 janvier 2018 Statut Membre Dernière intervention 2 janvier 2018
Modifié le 2 janv. 2018 à 17:48
Merci, mais j'ai besoin du code vba.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
2 janv. 2018 à 17:53
Postes le code que tu as déjà écrit pour qu'on comprenne le contexte !
0
Frollo.groovy Messages postés 3 Date d'inscription dimanche 2 mai 2010 Statut Membre Dernière intervention 2 janvier 2018
Modifié le 2 janv. 2018 à 17:50
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...
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
2 janv. 2018 à 18:49
bonjour, peux-tu compléter ton exemple avec le résultat que tu souhaites?
0