Executer une macro sans bouton [Résolu]

Signaler
-
Messages postés
25761
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
21 janvier 2021
-
Bonjour,

J'essaie de lancer une macro avec exécution automatique dès qu'une cellule est modifiée.

Voici ce que j ai écrit :


Private Sub Worksheet_Change(ByVal Target As Range)
' Montantdemande
' Dim Range As Integer, commentaire As String
'Commentaire en fonction du montant
Select Case (Range("c12"))
Case 500 To 80000
commentaire = "OK"
Case Else
commentaire = "Doit etre compris entre 500CHF et 80'000CHF"
End Select

ActiveSheet.Unprotect Password:="aaaa"
Range("i12") = commentaire
ActiveSheet.Protect "aaaa"


End Sub

Mais vous l'aurez compris... ça ne fonctionne pas... par contre quand je nomme ma macro et que je la joue grâce au bouton "run", elle fonctionne
Je vous remercie grandement par avance pour votre aide!
Aurélie

6 réponses

Messages postés
25761
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
21 janvier 2021
5 726
si vous pouvez déposer un modèle de ce que vous avez testé, macro incluse et qui ne fonctionne pas, on pourra voir chez nous (surtout chez l'ami Michel, parce que moi et VBA...bof!)
voyez si vous pouvez déposez ici par exemple: http://mon-partage.fr
et revenez coller le lien créé sur le site
une question idiote (mais elle est de moi, ça ne surprendra personne!): vous avez bien inscrit la macro dans le code de la feuille, pas dans un module VBA?
à vous lire
Messages postés
16369
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
21 janvier 2021
3 115
Bonjour

Le principe:S ans m'occuper de la feuille protégée





Messages postés
16369
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
21 janvier 2021
3 115
Attention !
Avec la procédure worksheet.change
La valeur dans C12 doit ^etre OBLIGATOIREMENT une saisie manuelle
Merci beaucoup mais il n y a toujours rien qui se lance... je vous avoue que je ne comprends pas du tout pourquoi... je désespère de mon niveau en vba
Messages postés
16369
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
21 janvier 2021
3 115
Bonjour

Bin, j'vois pas... j'avais testé et c'était bon....
Messages postés
25761
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
21 janvier 2021
5 726
Bonjour
et salut Michel (ça roule?)
juste en aparté après test chez moi, ça ne fonctionne pas non plus mais ça fonctionne quand on remplace:
If target.address="$C$12" Then
par
If target.Cells = Range("C12") Then

ne me demandez pas pourquoi...!
crdlmnt
Messages postés
16369
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
21 janvier 2021
3 115
salut Vaucluse
c'est curieux chez moi ca marchait....peut-^tre une question de version Excel....

@+
Merci beaucoup

Je ne comprends pas ça ne fonctionne toujours pas... j ai pourtant teste les deux versions...
Merci en tout cas à vous deux

Bien cordialement
Aurélie
la question n etait pas idiote... c etait visiblement moi l'idiote!
Merci bcp à vous deux cela fonctionne désormais

Bien cordialement
Messages postés
25761
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
21 janvier 2021
5 726
Pas de quoi
je passe le sujet en résolu
Bonne route
crdlmnt