Si case non vide --> verrouillage de celles-ci

Fermé
Boris85 - 5 sept. 2022 à 09:38
Le Pingou Messages postés 12116 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 4 juillet 2024 - 6 sept. 2022 à 14:21

Bonjour,

J'utilise un fichier Excel qui répertorie dans une colonne des numéros. Ceux-ci s'écrivent à chaque fois que je scanne un code-barre.

J'aimerai savoir s'il étai possible de verrouiller ces cases une fois qu'elles sont non vides.

Merci par avance 

A voir également:

3 réponses

PHILOU10120 Messages postés 6385 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 11 juin 2024 802
5 sept. 2022 à 10:55

Bonjour

Je suppose que si le code scanné s'inscrit sur la feuille il doit avoir une macro pour réaliser cette opération, donc il doit falloir ajouter cette opération dans la macro

Voir avec les personnes compétentes en VBA 


0

Bonjour,

Merci de votre retour.

Il n'y a pas besoin de macro.La douchette remplace un clavier, elle écrit directement la valeur attribué par le code-barre.

On peut retire la douchette de ma problématique.

J'aimerai tout simplement pouvoir empêcher la modification de cases qui seront pleines. Néanmoins, Il faut surement passer par de la VBA

0
Le Pingou Messages postés 12116 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 442 > Boris85
5 sept. 2022 à 15:10

Bonjour,

Il vaut la peine de consulter le poste 2...!

0
Le Pingou Messages postés 12116 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 442
5 sept. 2022 à 11:08

Bonjour,

Supposer les codes en colonne A, vous devez d'abord déverrouiller toutes les cellules de la colonne A. 

Vous pouvez utiliser le code suivant à mettre dans le module de la feuille concernée.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
    ActiveSheet.Unprotect
    With Range("A" & Target.Row)
        .Locked = True
        .FormulaHidden = False
    End With
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub

0

Bonjour,

Merci pour ta réponse rapide, je ne l'avais pas vu.

Cela fonctionne correctement.

Comment puis-je l'appliquer aux 5 première colonnes de mon tableau A:E?

0
Le Pingou Messages postés 12116 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 4 juillet 2024 1 442
6 sept. 2022 à 14:21

Bonjour,

Les 2 modifications, ligne 1 et 3:

If Target.Column < 6 Then
........
    
With Range(Target.Address)

0