Excel et macros

Mel -  
onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais savoir s'il y aurait un moyen de verrouiller une feuille excel sans verrouiller ma macro. En effet, quand je verrouille ma feuille de sorte à ce que les utilisateurs ne puissent modifier les données, ma macro ne fonctionne plus. Merci d'avance pour vos réponse.

Mel

2 réponses

onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120
 
Salut,

Il suffit que tu modifies ta macro de manière à ce quelle enlève puis remette la protection de ta feuille.

Sheets("Feuil1").Protect "secret"

Sheets("Feuil1").Unprotect "secret"
0
Mel
 
Quand j'essais d'appliquer tes instructions, un message d'erreur apparaît : "erreur de compilation, instruction incorrecte à l'intérieur d'une procédure". Où dois-je placer exactement Sheets("Feuil1").Protect "secret" et Sheets("Feuil1").Unprotect "secret"?
0
onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120 > Mel
 
Il faut que tu remplaces "secret" par le mot de passe de ta feuille
0
Mel > onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention  
 
Bien sûr, c'est ce que j'ai fait.
0
onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120 > Mel
 
Peut-on voir le code de la macro s'il n'est pas secret défense ?
0
Mel > onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention  
 
Voilà ma macro :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Col As String, nCol As Integer, Cherche As String
On Error GoTo Fin
nCol = ActiveCell.Column
Col = Chr(nCol + 64)

'valeur cherchée dans cette colonne
Cherche = InputBox("Valeur Cherchée ?")

'rien ou click sur Annuler = on stope
If Cherche = "" Then Exit Sub

Selection.AutoFilter Field:=nCol, Criteria1:="=*" & Cherche & "*", Operator:=xlAnd

Exit Sub
Fin:
MsgBox "Excel n'a pas pu trouver la liste à filtrer", vbInformation
End Sub
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
je me permet une petite intervention, mais il me semble que tu a inverser les lignes...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Col As String, nCol As Integer, Cherche As String
On Error GoTo Fin
ActiveSheet.Unprotect
.........
...........
ActiveSheet.protect
End sub
A+
0
onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120
 
T'as raison, je vais reprendre un café et ca ira mieux
0