Macro excel pour protéger des colonnes saisissables

  • Initiateur de la discussion Initiateur de la discussion Beginner
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Beginner

XLDnaute Nouveau
Bonjour,

Je me permets de poster de solliciter une aide pour un problème de macro excel.

En effet, j'ai crée un exemple avec classeur avec 2 onglets. Chaque onglet dispose d'un tableau identique qui contient parfois des colonnes avec des formules. En fait, la feuille doit être protégée afin qu'elle ne puisse pas etre saisissable pour l'utilisateur sauf sur 2 colonnes (en jaune dans mon fichier) dont 1 qui contient une formule dedans.

J'ai l'impression que la macro exécute bien le calcule mais ne protège pas le classeur et le fait planter. Comment cela se fait il ??

Voici ma macro :

Sub Macro1()

Dim i As Integer 'premiere ligne
Dim j As Integer 'premiere colonne

ActiveSheet.Unprotect Password:=""

Sheets("Feuil1").Select

i = 1 'premiere ligne sur laquelle on commence dans le tableau
j = 0 'on initialise la premiere colonne

While Cells(i, 2) <> ""

'Total 1
Cells(i, 3).Locked = False
Cells(i, 3) = "=RC[-2]-RC[-1]"
Cells(i, 3).Locked = True

'Total 2
Cells(i, 5).Locked = False
Cells(i, 5) = "=RC[-2]+RC[-1]"
Cells(i, 5).Locked = True

'On passe à la ligne suivante
i = i + 1

Wend

Sheets("Feuil2").Select

i = 3
j = 0

While Cells(i, 2) <> ""

'Total 1
Cells(i, 3).Locked = False
Cells(i, 3) = "=RC[-2]-RC[-1]"
Cells(i, 3).Locked = True

'Total 2
Cells(i, 5).Locked = False
Cells(i, 5) = "=RC[-2]+RC[-1]"
Cells(i, 5).Locked = True

'On passe à la ligne suivante
i = i + 1

Wend

ActiveSheet.Protect Password:=""

End Sub

Je souhaite protéger toutes les feuilles, permettre le calcul et de rendre saisissable les 2 colonnes qui sont en jaunes bien qu'il y a des calculs dedans..

Si quelqu'un aurait une idée, merci d'avance pour la réponse 😕
 

Pièces jointes

Re : Macro excel pour protéger des colonnes saisissables

Par manque de temps je ne peux regarder en détail mais une chose que je vois c'est que ta macro change de feuille sans remettre la protection. Elle enleve sur la feuille 1, passe à la feuille 2, ne l'enleve pas et la met sur la feuille 2. Ça peut expliquer pourquoi ça plante.
 
Re : Macro excel pour protéger des colonnes saisissables

Finalement j'ai pris 2 minutes pour réviser ton code. J'ai changé la valeur de i sur la première feuille 1 car je ne crois pas que les lignes 1 et 2 doivent êtres inscrits dans ton code. Corrige moi si je me trompes.

Code:
Sub Macro1()

Dim i As Integer    'premiere ligne
Dim j As Integer    'premiere colonne

ActiveSheet.Unprotect
Sheets("Feuil1").Select
     
    i = 3                'premiere ligne sur laquelle on commence dans le tableau
    j = 0                'on initialise la premiere colonne

While Cells(i, 2) <> ""

'Total 1
    Cells(i, 3).Locked = False
    Cells(i, 3) = "=RC[-2]-RC[-1]"
    Cells(i, 3).Locked = True
   
'Total 2
    Cells(i, 5).Locked = False
    Cells(i, 5) = "=RC[-2]+RC[-1]"
    Cells(i, 5).Locked = True
   
 'On passe à la ligne suivante
    i = i + 1
   
 Wend
ActiveSheet.Protect
Sheets("Feuil2").Select
ActiveSheet.Unprotect
     
    i = 3
    j = 0

While Cells(i, 2) <> ""

'Total 1
    Cells(i, 3).Locked = False
    Cells(i, 3) = "=RC[-2]-RC[-1]"
    Cells(i, 3).Locked = True
   
'Total 2
    Cells(i, 5).Locked = False
    Cells(i, 5) = "=RC[-2]+RC[-1]"
    Cells(i, 5).Locked = True
   
'On passe à la ligne suivante
    i = i + 1
   
 Wend
 
ActiveSheet.Protect

End Sub

Tu peux rajouter
Sheets("Feuil1").Select (ou autre Feuil que tu veux que la macro sélectionne à la fin de son exécution)
avant le
End Sub
pour une meilleure utilisation.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
707
Réponses
8
Affichages
650
Réponses
4
Affichages
581
Réponses
10
Affichages
533
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
372
Réponses
7
Affichages
365
Retour