Executer une macro sans bouton

Résolu
Aurelie -  
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   -
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

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
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
1
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

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





0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Attention !
Avec la procédure worksheet.change
La valeur dans C12 doit ^etre OBLIGATOIREMENT une saisie manuelle
0
Aurelie
 
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
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Bin, j'vois pas... j'avais testé et c'était bon....
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
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
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
salut Vaucluse
c'est curieux chez moi ca marchait....peut-^tre une question de version Excel....

@+
0
Aurelie
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Aurelie
 
la question n etait pas idiote... c etait visiblement moi l'idiote!
Merci bcp à vous deux cela fonctionne désormais

Bien cordialement
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Pas de quoi
je passe le sujet en résolu
Bonne route
crdlmnt
0