Excel - If Then Else [Résolu/Fermé]

Signaler
-
Messages postés
344
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
30 octobre 2011
-
Bonjour,

Je souhaite créer une macro excel avec les fonctions if then else.

Ce que je souhaite c'est :

SI (If) : Somme (A1:A10) > 20
ALORS (Then) : MsgBox "Message 1"
SINON (Else) : MsgBox "Message 2"


Merci pour votre aide,

LD

6 réponses

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 208
bonjour


Je suppose que c'est la syntaxe que tu cherches, alors ainsi cela fonctionne :
If Application.WorksheetFunction.Sum(ActiveSheet.[A1:A10]) > 20 Then
    MsgBox "Message 1"
Else
    MsgBox "Message 2"
End If
9
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Merci beaucoup
Messages postés
344
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
30 octobre 2011
70
Merci pour vos réponse, mais en fait ce que j'avais écrit dans le post numéro 4 fcontionne...

Tant que ca fonctionne...je ne simplifie pas...

A+
Messages postés
344
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
30 octobre 2011
70
Bonjour j'ai une autre question du même type sauf que moi c'est :

Sub Calculer()
'
' Calculer Macro
' Macro enregistrée le 25/04/2009 par Moi
'

'

Si (If) : La valeur de la cellule C11 est supérieur ou égale à 3
 
Else 

Range("H11").Select
ActiveCell.FormulaR1C1 = "Mon message 1"
Range("H12").Select
ActiveCell.FormulaR1C1 = "Mon message 2"
     
Else
     Range("H11").Select
     ActiveCell.FormulaR1C1 = "Mon message 3"
     Range("H12").Select
     ActiveCell.FormulaR1C1 = "=C12/(C11*C11)"
     
     End If
     
     
     
     
End Sub
Messages postés
344
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
30 octobre 2011
70
lol, je suis bête^^

Il suffisait de remplacer :

If Application.WorksheetFunction.Sum(ActiveSheet.[A1:A10]) > 20 Then
(Reponse de Gbinforme)

par

If Application.WorksheetFunction.Sum(ActiveSheet.[C11]) > 3 Then
Messages postés
907
Date d'inscription
mardi 19 août 2008
Statut
Contributeur
Dernière intervention
8 décembre 2009
232
Bonjour

en fonction de ce que j'ai compris
Sub Calculer()
     if range("C11")>3 then
             Range("H11") = "Mon message 1"
             Range("H12") = "Mon message 2"
     Else
             Range("H11") = "Mon message 3"
             Range("H12").Formula = "=C12/(C11*C11)"     
     End if
End Sub
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 208
bonjour

Tu dois pouvoir modifier ainsi car tu n'as pas besoin des "select" rajoutés par l'enregistreur.
Sub Calculer()
If Range("C11").Value >= 3 Then
    Range("H11").FormulaR1C1 = "formule 1"
    Range("H12").FormulaR1C1 = "formule 2"
Else
     Range("H11").FormulaR1C1 = "formule 3"
     Range("H12").FormulaR1C1 = "=C12/(C11*C11)"
End If
End Sub

edit :
Trop tard et bonjour à Wilfried...