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

Boris85 -  
Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   -

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 

3 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     

    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
    1. Boris85
       

      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
      1. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478 > Boris85
         

        Bonjour,

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

        0
  2. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     

    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
    1. Boris85
       

      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
  3. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     

    Bonjour,

    Les 2 modifications, ligne 1 et 3:

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

    0