Alerter ou verrouiller toutes les lignes saisies avant l'ouverture d'un fichier Excel

MEZ

XLDnaute Junior
Bonjour,
Je cherche une solution pour verrouiller les anciennes lignes d’un fichier Excel.
Je m’explique :
Un fichier Excel, utilisé par plusieurs utilisateurs. Dans ce fichier plusieurs onglets (disons Feuil1 et Feuil2 sont remplis au fur et à mesure. A chaque ouverture une ou plusieurs lignes sont remplies sur un ou deux des onglets.
Scénario :
  • Aujourd’hui à l’ouverture : Feuil1 = 100 lignes saisies ; Feuil2= 300 lignes saisies.
  • Je saisis plusieurs lignes.
  • A la fermeture ou via un bouton : vérifier que les 100 lignes de Feuil1 et 300 lignes de Feuil2, n’ont pas été modifiés
L’idée est de sécuriser la qualité des données passées pour pas qu’il y’ai de problème.
Suis-je obligé de passer par du code ? Ou est-ce que du paramétrage suffirait à résoudre cette problématique ?
Merci d’avance pour vos avis !
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @MEZ,

Une piste par macro dans le fichier joint. Le code est dans le module de code de ThisWorkbook. On ne pourra modifier que les lignes sous les tableaux à chaque ouverture du fichier. Le mot de passe pour déprotéger les deux feuilles est : mo2pass
VB:
Private Sub Workbook_Open()
Dim wks
  For Each wks In Array(Feuil1, Feuil2)
    wks.Unprotect "mo2pass"
    wks.Columns.Locked = False
    wks.UsedRange.EntireRow.Locked = True
    wks.Protect "mo2pass"
  Next wks
End Sub
 

Pièces jointes

  • MEZ- pas touche- v1.xlsm
    18 KB · Affichages: 4

MEZ

XLDnaute Junior
Merci beaucoups, mapomme pour ton retour.
Est ce que le fait que j'ai des formules dans les lignes vides fait que le code le prenne en compte?
J'ai mis un fichier exemple qui explique, j’espère, ce que je veux faire²
 

Pièces jointes

  • pas touche lock old lines.xlsx
    292 KB · Affichages: 3

Statistiques des forums

Discussions
312 198
Messages
2 086 149
Membres
103 132
dernier inscrit
hedfahmi