Macro dans excel 2010

Fermé
Utilisateur anonyme - 28 mars 2014 à 11:37
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 - 28 mars 2014 à 23:01
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
A voir également:

4 réponses

via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
28 mars 2014 à 13:49
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
Utilisateur anonyme
28 mars 2014 à 18:20
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 mars 2014 à 14:41
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
Utilisateur anonyme
28 mars 2014 à 18:10
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 28/03/2014 à 18:39
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
Utilisateur anonyme
28 mars 2014 à 18:58
le plus simple serai d'envoyer mon fichier excel mais je ne sais pas comment faire ?
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
28 mars 2014 à 23:01
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