activer macro quand une feuille est protégée.

Titoy

XLDnaute Junior
Bonjour Le forum !

Savez-vous comment on peux utiliser sa macro quand la feuille est protégée ?

Le problème est que je dois protéger ma feuille mais une fois que c'est fait, je ne peux plus utiliser ma macro ! :eek:

I need your help !

Merci beaucoup

A +

TITOY
 

tora

XLDnaute Occasionnel
Re : activer macro quand une feuille est protégée.

bonjour essaye :

Sub proteger()
Sheets(1).Protect ("bob")
End Sub
_____________________________

Sub deproteger()
Sheets(1).Unprotect ("bob")
End Sub

_____________________________

Sub ma_procedure()
' sachant que le feuille est protegee

Sheets(1).Unprotect ("bob") ' feuille non protegee a present

Range("A1").Value = 100
' reste de ma-procedure .......

Sheets(1).Protect ("bob") ' feuille a nouveau protegee
End Sub

ca repond a ta question ?
 

ninanani

XLDnaute Occasionnel
Re : activer macro quand une feuille est protégée.

Salut le fil.

Je souhaitais faire exactement la meme chose. Cela repond donc bien a mon attente seulement lorsque je rajoute cela a ma macro et que je l active,
Sheets(1).Unprotect ("bob") ' se met en jaune. et m affiche un message erreur
Bob etant bien le mot de passe?
 

ninanani

XLDnaute Occasionnel
Re : activer macro quand une feuille est protégée.

Re, voila mon code :
Sub transfert()
Sheets(dentist).Unprotect ("nina")

Dim der_lig%
der_lig = Sheets("dentist").Range("B65536").End(xlUp).Row + 1
With Sheets("Simple Invoice")
Sheets("dentist").Range("A" & der_lig).Value = .Range("G6").Value
Sheets("dentist").Range("B" & der_lig).Value = .Range("G5").Value
Sheets("dentist").Range("C" & der_lig).Value = .Range("B4").Value
Sheets("dentist").Range("D" & der_lig).Value = .Range("B11").Value
Sheets("dentist").Range("E" & der_lig).Value = .Range("G36").Value
Sheets("dentist").Range("F" & der_lig).Value = .Range("H36").Value
Sheets("dentist").Range("H" & der_lig).Value = .Range("G38").Value
Sheets("dentist").Range("I" & der_lig).Value = .Range("H38").Value
Sheets("dentist").Range("K" & der_lig).Value = .Range("G39").Value
Sheets("dentist").Range("L" & der_lig).Value = .Range("H39").Value

End With
Sheets(dentist).Protect ("nina")
End Sub


Et le message d erreur est le suivant :
Run-time error "9"
Subscript out of range

Merci
 

mutzik

XLDnaute Barbatruc
Re : activer macro quand une feuille est protégée.

bonjour,

Sheets(dentist).Protect ("nina")
il faut mettre Sheets("dentist") ... apostrophes autour de dentist sinon c'est pris comme une variable (qui n'existe pas donc il ne 'unprotect' rien du tout
!! en debut de code unprotect et en fin de code : protect

sinon prend l'habitude de mettre option explicit dans tes modules, ce qui force toutes les variables à être déclarées. Au début, c'est un peu contraignant, mais dans ton cas, VBA t'aurait dit qu'il ne connait aucune variable dentist CQFD

et zou ... salut Pascal
 

Discussions similaires

Réponses
4
Affichages
239
Réponses
4
Affichages
652

Statistiques des forums

Discussions
312 582
Messages
2 089 951
Membres
104 314
dernier inscrit
Tuubibumi