Macro et fonction si

Résolu
ec163 -  
ec163 Messages postés 182 Statut Membre -
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. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
    0
  2. ec163 Messages postés 182 Statut Membre 32
     
    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
    0
  3. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
    0
  4. ec163 Messages postés 182 Statut Membre 32
     
    Merci c'est tout à fait ça. il faut vraiment que je m'y mette au vbe.
    0