Macro dans excel 2010

irettigam -  
via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour
Comment écrire une macro selon ces critères :
si A = B la macro écrit automatiquement OK dans la cellule C
si A <> B la macro écrit automatiquement FAUX dans la cellule C
Je sais le faire sans passer par une macro mais votre solution m'apportera des "billes" pour d'autres problèmes.
Merci beaucoup

4 réponses

  1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    La ligne de base de la macro serait par exemple pour la ligne 2

    Sub ma_macro ()
    If Range("A2")=Range("B2") Then Range("C2")="OK" else Range("C2")="FAUX"
    End sub

    Sinon pour boucler sur plusieurs lignes, par exemple de 2 à 50

    Sub ma_macro ()
    For y= 2 to 50
    If Range("A" & y)=Range("B" & y) Then Range("C" & y)="OK" else Range("C" & y)="FAUX"
    Next y
    Sub ma_macro ()

    Reste à savoir ce qui va déclencher la macro :
    -un bouton sur la feuille concernée ? (mettre la macro dans un module puis créer le bouton et mettre le nom de la macro dans le code du bouton)
    - ou l'activation de la feuille ? (mettre la macro dans le Worksheet de la feuille pour l'événement Activate)
    - ou autre ? (modification dans la feuille, ouverture du classeur etc)

    Cdlmnt
    0
    1. irettigam
       
      Merci pour votre réponse rapide
      Mon désire est de voir la macro s'exécuter automatiquement en inscrivant VRAI ou FAUX dans une cellule dès que A=B ou A<>B
      sans cliquer sur un bouton, sur la macro ou à la fermeture/ouverture du classeur
      MERCI
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    Excusez l'incruste

    2 autres manières

    Sub demo1()
    Range("C2") = IIf([A2] = [B2], "OK", "FAUX")
    End Sub
    '------
    Sub demo2()
    'si au lieu de OK on marque VRAI cousin naturel de FAUX
    Range("C2") = ([A2] = [B2])
    End Sub
    0
  3. irettigam
     
    Merci beaucoup pour ces 2 solutions simples et rapides mais il faut néanmoins cliquer sur la macro ou sur un bouton ou à l'ouverture/fermeture du fichier.

    Mon grand désir est de voir s'exécuter cette macro automatiquement dès qu'il y a égalité ou inégalité entre A et B
    Merci beaucoup
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      A2 et B2 sont elles des saisies ? si oui, est ce le changement d'une cellule qui va déclencher la macro ? Sinon quelles sont les antécédents qui font changer 1 cellule A2 ou B2 ?
      est ce à l'activation et seulement à l'activation de la feuille qu'on teste les 2 cellules ?

      Il est important que tu indiques de façon exhaustive et précise le contexte de ton problème sinon on avancera pas
      il a fallu que Via55 te demande comment de déclenchait la macro pour que tu le précises alors que ces renseignements auraient dû être fournis à ton 1° post
      0
  4. irettigam
     
    le plus simple serai d'envoyer mon fichier excel mais je ne sais pas comment faire ?
    0
    1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      tu post ton fichier allégé et anonymé sur transfernow.net ou sur cjoint.com et tu nous indiques ensuite ici le lien fourni
      0