Problème de macro

Bonjour à toutes et tous,

je ne suis pas du tout du tout bon en VBA dont mes nombreux post sur le forum. J'ai voulu faire une macro toute simple mais y'a comme qui dirait un problème.

Ce que je veux faire c'est :

A l'ouverture de mon classeur,

si les cellules C6, C10 ou F15 sont sélectionnées alors la protection de la feuille est ôtée sinon ma feuille est protégée

voilà ce que j'ai écrit

-------------------------------------------------------------------------

Sub Protection()

If Range("C6,C10,F15").Select Then ActiveSheet.Unprotect

Else ActiveSheet.Protect

End If

End Sub

J'ai toujours le même message d'erreur

Erreur de compilation Else sans If

Si quelqu'un peut me dire où se trouve l'erreur dans ma formule

Merci d'avance

PEV

Bonjour,

C'est de cette façon :

Sub Protection()

    If Range("C6,C10,F15").Select Then
        ActiveSheet.Unprotect
    Else
        ActiveSheet.Protect
    End If

End Sub

ou encore de cette façon :

Sub Protection()

    If Range("C6,C10,F15").Select Then ActiveSheet.Unprotect Else ActiveSheet.Protect

End Sub

Le "End If" est dans ce dernier cas inutile

et si tu tiens à mettre les deux points pour que les instructions soient sur la même ligne c'est comme ça :

Sub Protection()

    If Range("C6,C10,F15").Select Then: ActiveSheet.Unprotect: Else: ActiveSheet.Protect

End Sub

mais ça ne sert à rien

Bonjour,

Theze a été plus rapide... mais as-tu testé ta proc. ?

Bonjour,

l'instruction range.select sélectionne les cellules du range et,mise dans un if, reverra toujours la condition vrai

une autre proposition

Sub aargh()
    For Each c In Selection
        If InStr("$C$6$C$10$F$15", c.Address) Then s = s + 1 Else s=0:Exit For
    Next c
    If s = 3 Then ActiveSheet.Unprotect Else ActiveSheet.Protect
End Sub

A Theze, H2S04 et MFERRAND

La formule de H2S4 marche

Merci à vous tous

PEV

Hello MFerrand !

Theze a été plus rapide... mais as-tu testé ta proc. ?

Oui et ce code ne sert à rien puisqu'il sélectionne au préalable les cellules, j'ai juste corrigé l'écriture du code et pas polémiqué sur l'utilité

J'avais vu, d'où la question...

h2so4 a choisi une option [belle formulation d'ailleurs ! ]... si elle correspond au souhait, tout est réglé !

Bonne soirée à tous.

MFerrand a écrit :

J'avais vu, d'où la question...

h2so4 a choisi une option [belle formulation d'ailleurs ! ]... si elle correspond au souhait, tout est réglé !

Bonne soirée à tous.

Rechercher des sujets similaires à "probleme macro"