Verrouiller saisie données Excel sauf userform

Bonjour

Svp je souhaite verrouiller la saisie des données sur le tableau excel directement. je souhaite autoriser la saisie uniquement par le userform

ci-joint mon fichier

Bonsoir,

Il y a 2 solutions :

1 - Tu protèges la feuille de telle sorte qu'on ne puisse agir que sur le bouton,

2 - ou, tu masques la feuille complètement pour la rendre inaccessible et tu te fais une page d'accueil avec un bouton pour la saisie...

Qu'est-ce que tu préfères ?

Question subsidiaire : Il faut envisager également la possibilité de faire des recherches / modifications / suppression dans la base de données. Pour l'instant le Userform n'est adapté qu'à la saisie...

Il faudrait peut-être déjà commencer par adapter le Userform à toutes les éventualité avant de dire on va interdire l'accès à la BD. Non ?

A+

Merci

Je préconise la solution 1 mais comment je peux agir pour rajouter une nouvelle ligne sur la feuille 1 si celle ci est protégée ?

Bonjour,

Il y a plusieurs possibilités.

La plus simple est de protéger la feuille en permettant aux macros de s'exécuter :

Modifier le code de la manière suivante :

Sub AJOUT_CONTRAT()
   Feuil1.Protect UserInterfaceOnly:=True, Password:="Galopin" 'remplacer "Galopin" par ton mot de passe...
   UserForm1.Show
End Sub
40sa3d88.xlsm (58.01 Ko)

La deuxième possibilité est de déprotéger la feuille avant chaque macro et de la reprotéger après...

Dans les 2 cas il y a des inconvénients...

Dans le premier cas, quand on est débutant et qu'on provoque beaucoup d'erreurs, on est pratiquement obligé de rajouter la ligne de protection au début de toutes les macros car cette instruction est volatile : En cas d'erreur d'exécution le programme oublie que UserInterfaceOnly est True...

Dans le deuxième cas il faut ajouter une macro de déprotection au début puis de reprotection à la fin de toutes les macros...

A+

parfait galopin la solution 1 marche très bien je te remercie

Bonjour,

Quand le classeur est à peu près finalisé et ne produit plus guère d'erreur d'exécution, on peut également ajouter cette ligne dans la macro Workbook_Open de ThisWorkbook

Private Sub Workbook_Open()
  Feuil1.Protect UserInterfaceOnly:=True, Password:="Galopin" 'remplacer "Galopin" par ton mot de passe...
End Sub

A+

Rechercher des sujets similaires à "verrouiller saisie donnees sauf userform"