Excel et macros

Fermé
Mel - 24 juin 2008 à 06:11
onesdf Messages postés 375 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008 - 24 juin 2008 à 13:47
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
A voir également:

2 réponses

onesdf Messages postés 375 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008 120
24 juin 2008 à 09:32
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
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 mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008 120 > Mel
24 juin 2008 à 11:06
Il faut que tu remplaces "secret" par le mot de passe de ta feuille
0
Mel > onesdf Messages postés 375 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008
24 juin 2008 à 11:44
Bien sûr, c'est ce que j'ai fait.
0
onesdf Messages postés 375 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008 120 > Mel
24 juin 2008 à 11:45
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 mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008
24 juin 2008 à 12:26
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 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
24 juin 2008 à 12:37
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 mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008 120
24 juin 2008 à 12:39
T'as raison, je vais reprendre un café et ca ira mieux
0