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
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. 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
    1. 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
    2. 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
    3. 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
    4. 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
    5. 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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. 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