Créer une macro si et faire fonctionner une macro malgré un verouillage des cellules

agnes95

XLDnaute Nouveau
Bonjour,

J'espère trouver ma solution sur ce forum et vous en remercie par avance. J'aurais deux questions pour vous.

La première : Serait il possible de transformer la formule si dessous en macro
=SI(ET(X3="oui";Y3="");AA3;"")

(Cette formule est mise dans la collonne AB, la formule si dessous est l'exemple de la troisième ligne)

De plus serait il possible de faire fonctionner la macro si dessous même si les cellules sont verouillées :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 24 Then
If Target.Value = "Oui" Then Range("AA" & Target.Row).Value = Now Else Range("AA" & Target.Row).ClearContents
ElseIf Target.Column = 25 Then
If Target.Value <> "" Then Range("Z" & Target.Row).Value = Now Else Range("Z" & Target.Row).ClearContents
End If
End Sub


Par avance merci beaucoup de votre aide

Agnes
 

kjin

XLDnaute Barbatruc
Re : Créer une macro si et faire fonctionner une macro malgré un verouillage des cell

Bonjour,
1
Code:
If Ucase([X3]) = "OUI" and [Y3]="" Then [AA3] = ""
2
Pour que le verrouillage des cellules soit effectif il faut que la feuille soit protégée
Donc, si c'est le cas
Code:
Activesheet.UnProtect Mdpasse éventuel entre guillemets
...la procédure
Activesheet.Protect Mdpasse éventuel entre guillemets
A+
kjin
 

agnes95

XLDnaute Nouveau
Re : Créer une macro si et faire fonctionner une macro malgré un verouillage des cell

Merci beaucoup de votre reponse mais cela fonctionne que pour a ligne 3 alors que mon tableau dispose environ de 700 lignes et la formule que j'ai mise est valable pour toute les lignes (j'ai "glissé" la formule pour qu'elle fonctionne sur toute les lignes.

Merci de votre aide
 

kjin

XLDnaute Barbatruc
Re : Créer une macro si et faire fonctionner une macro malgré un verouillage des cell

Re,
cela fonctionne que pour a ligne 3 alors que mon tableau dispose environ de 700 lignes et la formule que j'ai mise est valable pour toute les lignes
Bé c'est pas très compliqué, il suffit de tester la ligne qui contient la cellule active (--> Target)
Code:
dim L#
L = target.row
If Ucase(range("X" & L)) = "OUI" and (range("Y" & L)) ="" Then (range("AA" & L)) = ""
Maintenant, avec un fichier allégé, ce serait sans doute plus efficace...
A+
kjin
 

agnes95

XLDnaute Nouveau
Re : Créer une macro si et faire fonctionner une macro malgré un verouillage des cell

Comme demandé voici un fichier allégé, en esperant que cela puisse être plus simple et que tu puisse m'aider....

Je suis novice en VBA et donc pas autonome du tout, par ailleurs je m'en excuse.

Merci beaucoup pour cette aide précieuse

Agnès
 

Pièces jointes

  • EXEMPLE.xls
    42.5 KB · Affichages: 63
  • EXEMPLE.xls
    42.5 KB · Affichages: 60
  • EXEMPLE.xls
    42.5 KB · Affichages: 55

pierrejean

XLDnaute Barbatruc
Re : Créer une macro si et faire fonctionner une macro malgré un verouillage des cell

Bonjour agnes25

Salut kjin

A tester:

Code:
If Target.Column = 24 Or Target.Column = 25 Then
     If UCase(Range("X" & Target.Row)) = "OUI" And Range("Y" & Target.Row).Value = "" Then
       Range("AB" & Target.Row) = Range("AA" & Target.Row)
     Else
       Range("AB" & Target.Row) = ""
     End If
   End If
 

kjin

XLDnaute Barbatruc
Re : Créer une macro si et faire fonctionner une macro malgré un verouillage des cell

Re, salut Pierre Jean:),
Tu n'indiques pas dans quel cas les changements doivent intervenir dans la colonne AA !!!
Tu saisies une valeur en colonne 24, 25, les 2, une autre colonne...
A+
kjin
 

agnes95

XLDnaute Nouveau
Re : Créer une macro si et faire fonctionner une macro malgré un verouillage des cell

Ca ne veux pas fonctionner, il me mets une erreur sur la première ligne :
Private Sub Worksheet_Change(ByVal Target As Range)

Peux être qu'il ne peux pas y avoir deux Private Sub Worksheet_Change l'une sous l'autre

:(:(:(
 

agnes95

XLDnaute Nouveau
Re : Créer une macro si et faire fonctionner une macro malgré un verouillage des cell

Excuse moi je n'avais pas vu la question 8.

Une fois que la personne a declenché sa facture (sur un tout autre logiciel), elle ouvre le fichier excel et doit indiqué "oui" via la liste déroulante en colonne X, à ce moment la en colonne AA et AB il y a la date du jour qui apparait.
Ensuite si elle mets un commentaire en colonne Y, la date du jour ce mets en colonne Z (Date du commentaire) et la date indiqué en AB doit disparaître (car l'envoi ce fera à posteriorie et sera donc indiqué en manuel ultérieurement)

En esperant avoir été le plus claire possible.

Encore mille excuse de ne pas avoir répondu à la question.

Merci
Agnès
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 944
Membres
101 849
dernier inscrit
florentMIG