Excel - If Then Else

Résolu
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

6 réponses

  1. Contributeur
    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
    1. Merci beaucoup
      0
  2. 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
    2
    1. 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
      0
      1. Contributeur
        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
        0
        1. Contributeur
          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...
          0
          1. 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+
            3