probléme lié à la protection du classeur avec un bouton lié à une macro

marodheure

XLDnaute Nouveau
Re Bonjour le Forum c'est encore moi ^^

donc cette fois c'est à propos de la protection du tableau

soucis majeur:

aprés avoir activée la protection, quand je clique sur le bouton qui est lié à une macro en Visual Basic j'ai un message d'erreur

petite fenêtre
avec en titre "Microsoft Visual Basic"
avec dedans une petite image d'un croix blanche sur disque rouge
avec marqué à coté de l'image le nombre "400" ( sans doute le numéro de l'erreur ? )
avec deux bouton "OK et "Aide" ( le bouton aide donne accé sur une fenêtre entiérement vide )

voila donc comment faire marché la macro avec la protection activée ?
est-ce que c'est impossible d'utilisée une macro avec la protection activé ?
serait-ce à causse du code de la macro ?
et au passage comment verrouillé un commentaires pour qu'on ne puisse pas le modifier ?

PS: dans menu outils / protection / Protéger la feuille...
la fenêtre qui s'ouvre dispose de plein de cases à coché le probléme serais-ce la dedans ?

merci d'avance
 

SergiO

XLDnaute Accro
Re : probléme lié à la protection du classeur avec un bouton lié à une macro

Bonjour,

En effet, la protection du fichier doit causer une erreur.
Essaie de mettre ActiveSheet.Unprotect en début de code puis ActiveSheet.Protect en fin de code.

Pour empêcher de modifier les commentaires, il faut décocher Modifier les objets.

@+
 

marodheure

XLDnaute Nouveau
Re : probléme lié à la protection du classeur avec un bouton lié à une macro

excuse moi mais niveau VBA je suis une sous-quiche

Code:
Sub ChangerSigne()
'
If Right([H13].Formula, 9) = "+$G$54)))" Then _
  Quoi = "+$G$54": ParQuoi = "-$G$54" Else _
  Quoi = "-$G$54": ParQuoi = "+$G$54"
['Feuil1'!H13:H50].Replace What:=Quoi, Replacement:=ParQuoi
End Sub

voila le code que l'on ma fourni dans le forum pour ma macro
pourrais tu me redonné le code avec t'es partie que tu me disais stp car je ne sais pas trop ou est le début et la fin :x

voila merci d'avance
 

papapaul

XLDnaute Impliqué
Re : probléme lié à la protection du classeur avec un bouton lié à une macro

:rolleyes: Salut Forum, à essayer : si ta macro est la 1

Sub Macro1()
ActiveSheet.Unprotect

La tu laisses la globalité de ton code

ActiveSheet.Protect

End Sub

Si il y a un mot de passe, ci dessous la méthode de Luki :

Sub Macro1()
ActiveSheet.Unprotect ("0000") ' < ton mot de passe iciActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=("0000") '< ton mot de passe ici

End Sub

En espérant pouvoir t'aider ;)

@+
 

JNP

XLDnaute Barbatruc
Re : probléme lié à la protection du classeur avec un bouton lié à une macro

Bonjour :),
Sub ChangerSigne()
ActiveSheet.Unprotect
If Right([H13].Formula, 9) = "+$G$54)))" Then _
Quoi = "+$G$54": ParQuoi = "-$G$54" Else _
Quoi = "-$G$54": ParQuoi = "+$G$54"
['Feuil1'!H13:H50].Replace What:=Quoi, Replacement:=ParQuoi
ActiveSheet.Protect
End Sub
:D
Effectivement Papapaul... 1 minute de retard sur toi et moins précis... Mea culpa!!!
 
Dernière édition:

marodheure

XLDnaute Nouveau
Re : probléme lié à la protection du classeur avec un bouton lié à une macro

Bonjour au nouveau gens me répondant,

pour JNP

ta solution marche ( comme l'on dit SergiO et Papapaul ) mais tu me montre un code différent à une ' prés ( perso quand j'ai réussi je n'est pas touché à l'apostrophe [ il n'y avait pas de mot de passe lors de ce test ])

en dessous de la ligne " Sub ChangerSigne() " à la 2° ligne il y avait une ' est-ce important de la garder ou de la suprimer comme tu as fait ?

ensuite Papapaul oui effectivement c'est pour mettre un mot de pass
mais quand tu me donne

Code:
Sub Macro1()
[COLOR="Red"]ActiveSheet.Unprotect ("0000") '[/COLOR] [COLOR="Blue"]< ton mot de passe ici[/COLOR][COLOR="Red"]ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=("0000") '[/COLOR][COLOR="Blue"]< ton mot de passe ici[/COLOR]
End Sub

je sais pas trop ou mettre la globalité de mon code du coup j'ai essayé comme ça

Code:
Sub ChangerSigne()
[COLOR="Red"]ActiveSheet.Unprotect ("0000") '[/COLOR] [COLOR="Blue"]< ton mot de passe ici[/COLOR]
'
If Right([H13].Formula, 9) = "+$G$54)))" Then _
  Quoi = "+$G$54": ParQuoi = "-$G$54" Else _
  Quoi = "-$G$54": ParQuoi = "+$G$54"
['Feuil1'!H13:H50].Replace What:=Quoi, Replacement:=ParQuoi
[COLOR="Red"]ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=("0000") '[/COLOR][COLOR="Blue"]< ton mot de passe ici[/COLOR]
End Sub

sa me refait l'erreur 400, pourrais tu me donner le code complet avec mot de passe svp ? :)

merci d'avance

et aussi c'est idiot je trouve mais avec la protection activé avec mot de passe on peut accedé au code et dedans le mot de passe et marqué ^^ comme si sa servait a rien quoi ^^
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : probléme lié à la protection du classeur avec un bouton lié à une macro

Re
L'apostrophe, en VBA, signifie "Ignorer ce qui est après l'apostrophe", donc pas de souci avec ou sans ;)
Pour le mot de passe, c'est les 4 zéros "0000" qu'il faut remplacer par ton mot de passe
Courage!:cool:
 

marodheure

XLDnaute Nouveau
Re : probléme lié à la protection du classeur avec un bouton lié à une macro

ok merci beaucoup vous tous :) probléme résolut mais

on peut accéder au code VBA et voir le mot de passe qui s'y trouve
on a pas un moyen de bloqué l'accé au code quand la protection est activé ?
car sinon on voit le mot de passe de tout les document protéger ayant des macro

merci d'avance
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : probléme lié à la protection du classeur avec un bouton lié à une macro

Re,
Quand tu est sur VBA, clic droit sur ton module, propriété, puis onglet protection, et là, oh miracle :D, tu peux rentrer et confirmer un mot de passe de protection de ta macro...;)
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 342
Membres
103 192
dernier inscrit
Corpdacier