Ne lancer une macro que si une condition est remplie

Bonjour à tous,

J'ai préparé un fichier pour un utilisateur moyen (comme moi !).

J'ai inséré un bouton pour exécuter une macro et je souhaite savoir si il existe une solution pour qu'il ne puisse lancer cette macro que si une condition est remplie, à savoir qu'il a bien saisi des montants correspondant à un total donné.

D'avance merci pour votre retour.

Bonjour

Un fichier est TOUJOURS le bienvenu

sub test

if condition then mamacro

end sub

A+ François

Bonjour et merci.

Voici un fichier, car je n'arrive pas à pose la condition.

Je souhaite que la macro ne se lance que lorsque I2-(SOMME(I11:I211))=0

Merci !!!

14classeur2.xlsm (52.68 Ko)

Bonjour Chris1800, fanfan38, le forum,

Un essai ....à partir de ta macro...à tester....

Sub Macro1()
 Dim valeur As Integer

    Application.ScreenUpdating = False

   With Sheets("Saisie")
    valeur = WorksheetFunction.Sum(.Range("I11:I211"))
    .Range("K:L").ClearContents
     If .Range("I2").Value - valeur = 0 Then
      .Range("I11").Copy
       .Range("K4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
      .Range("I12:I211").Copy
       .Range("K5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
       .Range("L4").FormulaR1C1 = "=+RC[-1]*0.07"
       .Range("L4").AutoFill Destination:=.Range("L4:L204"), Type:=xlFillDefault
       .Range("K204:L204").AutoFill Destination:=Range("K204:L211"), Type:=xlFillDefault
      .Range("K4").Select
     End If
  End With
    Application.CutCopyMode = False
End Sub

Cordialement,

Top, merci beaucoup !!

Cordialement.

Rechercher des sujets similaires à "lancer macro que condition remplie"