Macro Excel

Résolu
Bonjour,

Je dois créer un formulaire que beaucoup de gens utiliseront dans Excel. Au bout de chaque ligne
je vais créer un bouton pour qu'ils puissent réserver. Mon problème est que je ne voudrais pas que d'autres utilisateurs viennent modifier ce que un utilisateur aura inscrit. Je voudrais donc que lorsque l'utilisateur cliquera sur le bouton "réserver" les cellules qu'il aura complétées se verrouilleront. Est-ce possible? Si oui, les étapes à suivre seraient grandement appréciées.

Merci,

4 réponses

  1. Merci à tous, j'ai finalement trouvé mon erreur... Plutôt que d'écrire Locked dans mon code, j'avais écrit Lock...
    0
    1. Contributeur
      Bonjour,

      Il faut protéger ta feuille.
      Au départ toutes les cellules sont verrouillées, il faut déverrouiller celles qui recevront les données (clic-droit sur ta sélection puis format de cellule).
      Pour verrouiller une sélection en vba c'est par exemple :
      [B3].locked=true
      ou worksheets("Feuil3").[B3:F3].locked=true

      Lors de la validation tu testes avec :
      if [B3].locked=true then
      'traitement cellule verrouillée
      else
      'traitement cellule libre
      endif

      eric
      0
      1. Modérateur
        Salut eriiic, syl vie,
        En plus de la protection de la feuille, je te suggère également de la rendre "invisible".
        Pour cela :
        Sheets("Feuil3").Visible = xlVeryHidden
        permet de vraiment masquer ta feuille car elle n'apparait même pas dans le menu Format/Feuille/Afficher...
        Pour masquer simplement une feuille :
        Sheets("Feuil3").Visible = False
        Par contre, après pour l'utiliser par macro il te faudra procéder par "With" :
        With Sheets("Feuil3")
            .B3:F3].locked=true 
        End With
        pour reprendre l'exemple d'eriiic.
        0
      2. j'obtiens un message d'erreur d'exécution '1004' Impossible de définir la propriété Locked de la classe Range
        0
      3. Contributeur
        Bonjour,

        Sans ton code difficile de répondre...
        [B2:C5].Locked = False marche très bien par exemple

        eric
        0
    2. Je suis pas très connaissante dans ce domaine. Comment fait-on un pointeur?
      0
      1. Vous faites un pointeur. Lorsque'une case est réservée la première fois le pointeur (une cellule sur une autre feuille ou fichier) passe à 1.
        Ensuite à chaque fois que quelqu'un tape ou essaye de modifier si le pointeur est à 1 la case revient avec déjà réservé ou autre alerte.
        La feuille des cellules pointeuses sont verrouillées.
        Vous pouvez inventer des pointeurs pour n'importe quoi.

        A+
        0