Incrémentation automatique

Bonjour à tous

J'ai récupéré et adapté un code pour incrémenter automatiquement avec une lettre a suivi d'un compteur, pour la colonne A selon la liste déroulante de la colonne B.

je voudrais protéger la col A pour éviter qu'un tiers le saisisse. Comment puis je le faire?

Voir fichier ci-joint.

Cordialement

21test1.xlsm (16.74 Ko)

A tester :

La feuille est protégée et la colonne A est verrouilée uniquement.

Si tu veux rajouter un mot de passe il faut le mettre dans le code qui deverouille/reverrouille :

ActiveSheet.Unprotect ("LEMOTDEPASSE")
ActiveSheet.Protect ("LEMOTDEPASSE")
17copie-de-test1.xlsm (18.77 Ko)

Bonjour Bouddha62

Théoriquement dans Excel, les cellules sont toutes protégées par défaut. Cependant, tant que la feuille elle-même n'est pas protégée, la protection des cellules est inactive.

Donc pour répondre à ta question, il faut que tu dé-protèges les cellules que tu veux laisser libre à la saisie, puis que tu protèges ensuite la feuille.

Attention !!! il faut également modifier légèrement le code...

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then
        ' Ajouter cette ligne pour de-proteger le temps d'inscrire la formule en colonne A
        ActiveSheet.Unprotect
        If Target <> "" Then
            Target.Offset(0, -1) = "a" & WorksheetFunction.Text(WorksheetFunction.CountA(Range("B2:B" & Target.Row)), "000000")
        Else
            Target.Offset(0, -1) = ""
        End If
        ' Ajouter cette ligne pour reproteger la feuille une fois la colonne A modifiee !
        ActiveSheet.Protect
    End If
End Sub

Merci à toi je viens te tester, cela fonctionne correctement


merci à toi ,andrea73, je viens te tester le code de melch.

cordialement

Rechercher des sujets similaires à "incrementation automatique"