Création d'une variable dichotomique

Christine_07 Messages postés 2 Statut Membre -  
yg_be Messages postés 23437 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. :)

4 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour

    Et pourquoi pas une simple formule avec un résultat dichotomique :
    =SI(B2<30;"Oui";"Non")
    0
    1. Christine_07 Messages postés 2 Statut Membre
       
      Merci, mais j'ai besoin du code vba.
      0
    2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Postes le code que tu as déjà écrit pour qu'on comprenne le contexte !
      0
  3. Frollo.groovy Messages postés 4 Statut Membre
     
    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
  4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, peux-tu compléter ton exemple avec le résultat que tu souhaites?
    0