Rechercher : dans
Par :

Excel - If Then Else

Dernière réponse le 25 avr 2009 à 10:53:44 Ludozebest, le 4 mar 2009 à 10:26:19 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP

Meilleures réponses pour « Excel If Then Else » dans :
VBScript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à...

1

gbinforme, le 4 mar 2009 à 10:53:41

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

Toujours zen

Répondre à gbinforme

2

Ludozebest, le 4 mar 2009 à 14:31:36

Merci beaucoup

Répondre à Ludozebest

3

ROYA2, le 25 avr 2009 à 08:13:38

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

Répondre à ROYA2

4

ROYA2, le 25 avr 2009 à 08:18:44

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

Répondre à ROYA2

5

wilfried_42, le 25 avr 2009 à 08:19:16

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
Cordialement
Wilfried

ps: n'oubliez pas de mettre votre fil sur résolu quand vous obtenez ce que vous cherchez. Merci

Répondre à wilfried_42

6

gbinforme, le 25 avr 2009 à 08:22:32

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...
Toujours zen

Répondre à gbinforme

7

 ROYA2, le 25 avr 2009 à 10:53:44

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+

Répondre à ROYA2