Création d'une variable dichotomique

Christine_07 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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   Statut Membre Dernière intervention  
 
Merci, mais j'ai besoin du code vba.
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, peux-tu compléter ton exemple avec le résultat que tu souhaites?
0