Macro excel
michael
-
michael -
michael -
Bonjour,
je souhaiterais faire une macro simple dans excel, mais je ne maitrise pas la syntaxe à employer, quelqu'un peut-il me faire cette syntaxe ?
Si la cellule A1 > cellule A2, alors cellule B1 = 1 et cellule B2 = 0
Si la cellule A1 < cellule A2, alors cellule B1 = 0 et cellule B2 = 1
Merci d'avance
je souhaiterais faire une macro simple dans excel, mais je ne maitrise pas la syntaxe à employer, quelqu'un peut-il me faire cette syntaxe ?
Si la cellule A1 > cellule A2, alors cellule B1 = 1 et cellule B2 = 0
Si la cellule A1 < cellule A2, alors cellule B1 = 0 et cellule B2 = 1
Merci d'avance
7 réponses
-
sub test()
if [a1]>[a2] then
[b1]=1
[b2]=0
end if
end sub
tu devrai te débrouiller pour ta deuxième conditions ;)
cordialement,
-
Après si tu veux aller plus loin dans la compréhension du code, tu as :
Range("B1").value = 1 ' défini la valeur (d'où le .value) de B1 Range("B1").select 'sélectionne la cellule B1, tu peux écrire aussi : Range("B1").select = 1 'sélectionne la cellule B1 et lui assigne la valeur 1 [b1] = 1 'fonctionne tout aussi bien que Range("B1").value = 1, et est plus simple à rédiger lol
-
-
Bonsoir,
Pourquoi une macro ?
Des formules dans les cellules suffisent
formule à mettre en B1 =SI(A1>A2;1;0)
formule à mettre en B2 =SI(B1=1;0;1)
Est ce bon ? -
Bonjour,
La syntaxe pour :
Si la cellule A1 > cellule A2, alors cellule B1 = 1 et cellule B2 = 0If Range("A1") > Range("A2") Then Range("B1") = 1 Else Range("B2") = 0 End If
Si la cellule A1 < cellule A2, alors cellule B1 = 0 et cellule B2 = 1If Range("A1") < Range("A2") Then Range("B1") = 0 Else Range("B2") = 1 End If
-
Merci de ces reponses aussi rapide, je ne connaissais pas la version simple directement dans excel, puis j'aimerai apprendre a maitriser cette syntaxe pour faire des fonctions plus complexes par la suite, d'ou le fait de commencer par de simples.
je vais maintenant le rediger. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Hé les gars, voici la syntaxe que j'ai écris:
If Range("G25") > Range("G27") Then
Range("I25") = 1
Else: Range("I25") = 0
End If
cependant, lorsque j'execute la maccro, il me surligne en jaune la 1ère ligne, pourquoi ?-
-
-
-
-
alors oui en fait ca marche bien maintenant,lorsque je lance l'execution et que je retourne sur excel j'ai bien la bonne valeur, mais si je change les valeurs des cellules dans excel, ca ne me change pas le resultat dans la case i, je suis obligé de retourner dans la macro et d'executer la macro, je pensais que le resultat changerait a chaque fois que je changeais les valeurs dans excel
-
-
Bonjour,
Et comme cela :Sub test_si () If Range("G25") > Range("G27") Then Range("I25") = 1 Else Range("I25") = 0 End If End Sub
-
Bonjour michael,
Vous pouvez utiliser une procédure qui se déclenche sur un événement de la feuille, vous copiez et collez la procédure suivante dans le module de la feuille concernée :Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("G25:G27")) Is Nothing Then If Range("G25") > Range("G27") Then Range("I25") = 1 Else Range("I25") = 0 End If End If End Sub