Macro et fonction si

Résolu
Bonjour,
j'aimerai compléter la macro ci-dessous en y incluant le fait que si on active cette macro sur une cellule et que la cellule de gauche est = à WE ou férié alors on obtient "" sinon "!". est ce possible, par avance merci de vos réponses.

Sub Effacer()
'
' Effacer Macro
' Macro enregistrée le 21/08/2013 par MSA
'
' Touche de raccourci du clavier: Ctrl+e
'
ActiveSheet.Unprotect Password:="mon mot de passe"
Selection.FormulaR1C1 = ""
With Selection.Interior
.ColorIndex = xlNoneColorIndex
.Pattern = xlSolid
End With
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="mon mot de passe"

End Sub

4 réponses

  1. Merci c'est tout à fait ça. il faut vraiment que je m'y mette au vbe.
    1. Je suppose que vous avez du créer un bouton pour effacer le contenu da la cellule selectionnée après avoir déprotéger la feuille, et, ce que vous voulez ensuite, c'est de tester la cellule de gauche, qui en fonction de son contenu, fera afficher un ! ou rien dans la cellule active. Jusque là, est-ce que j'ai bien compris, si oui, alors, ouvrez le module dans lequel se trouve la macro "Effacer" et remplacer le tout par ceci:
      Sub Effacer() 
      '' Touche de raccourci du clavier: Ctrl+e
      ActiveSheet.Unprotect Password:="mon mot de passe" 
      if ActiveCell.offset(0,-1).value="WE" or ActiveCell.offset(0,-1).value="férié" then
          ActiveCell.value=""
      else:activecell.value="!"
      end if 
      ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="mon mot de passe" 
      End Sub 
      Si ce n'est pas ça ou si j'ai mal compris, déposez sur www.Cjoint.com votre fichier(sans données personnelles) et j'essaierai de vous le faire.
      mettez directement dans le fichier des commentaires sur les actions à réaliser.
      cdlt
      1. merci, mais je suis vraiment novice en macro que dois-je indiquer en sub. et où exactement, qd j'ouvre vba, j'ai microsoft excel objets et modules lequel est le bon. Merci de ton aide
        Cdlt
        1. Bonjour
          tout d'abord, en haut du module, en première ligne avant le Sub
          ajouter Option compare text (pour ne pas de différence entre les majuscules et les minuscules.
          Puis inserez les lignes suivantes dans votre code
          if ActiveCell.offset(0,-1).value="WE" or ActiveCell.offset(0,-1).value="férié" then
              ActiveCell.value=""
          else:activecell.value="!"
          end if 

          bonne journée
          cdlt