Salut à tous,

Je suis actuellement entrain de développer une petite appli permettant à divers types d'utilisateurs de gérer des données.

Mon classeur se divise en 3 feuilles:
-Accueil
-Opérateur
-Administration

Je passe la partie accueil, ce ne sont que des boutons.

Sur la feuille administration, j'ai un tableau de 10 champs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
N°, Remplacement, Date de la demande, Date limite, Date de réalisation, Travail effectué, Commentaire Travail à effectuer, Nb, Réformée, Commentaire de travail effectué
Sur la feuille opérateur, j'ai un tableau de 5 champs dont 3 champs doivent provenir de la partie administration et être non modifiable, et les 2 suivant doivent lorsqu'ils sont modifiés, modifier les champs identiques sur la feuille administration.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Remplacement, N°, Commentaire Travail à effectuer, Travail effectué, Commentaire de travail effectué
Je ne connais pas à la le nombre définitif de valeurs dans les tableaux.

Actuellement je procéde par recopie des champs de la manière suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
Sub recopie_admin_operateur()
    Worksheets("Admin").Activate
    Worksheets("Admin").Range("Tableau3[N°]").Select
    Selection.Copy
    Worksheets("Opérateur").Activate
    Worksheets("Opérateur").Range("Tableau1[N°]").Select
    ActiveSheet.Paste
 
    Worksheets("Admin").Activate
    Worksheets("Admin").Range("Tableau3[Commentaires]").Select
    Selection.Copy
    Worksheets("Opérateur").Activate
    Worksheets("Opérateur").Range("Tableau1[Commentaires]").Select
    ActiveSheet.Paste
 
    Worksheets("Admin").Activate
    Worksheets("Admin").Range("Tableau3[Remplacement]").Select
    Selection.Copy
    Worksheets("Opérateur").Activate
    Worksheets("Opérateur").Range("Tableau1[Remplacement]").Select
    ActiveSheet.Paste
 
 
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Sub recopie_operateur_admin()
 
    Worksheets("Opérateur").Activate
    Worksheets("Opérateur").Range("Tableau1[Travail effectué]").Select
    Selection.Copy
    Worksheets("Admin").Activate
    Worksheets("Admin").Range("Tableau3[Travail effectué]").Select
    ActiveSheet.Paste
 
    Worksheets("Opérateur").Activate
    Worksheets("Opérateur").Range("Tableau1[Commentaires2]").Select
    Selection.Copy
    Worksheets("Admin").Activate
    Worksheets("Admin").Range("Tableau3[Commentaires2]").Select
    ActiveSheet.Paste
    Worksheets("Admin").Range("A1").Select
    ActiveSheet.ListObjects("Tableau3").Range.AutoFilter
    ActiveSheet.ListObjects("Tableau3").Range.AutoFilter Field:=1
End Sub

Je souheterais savoir si il n'y a pas de meilleur méthode que celle-ci (je me doute bien que si!) car elle provoque des clignotements mais aussi double la taille du fichier puisque recopie certain champs.

Une autre demande est que dans la colonne "travail effectué" de la feuille opérateur, je voudrais afficher des checkbox et lorsque la personne clique, celà modifierais la feuille admin en insérant la date du jour et en indiquant que le travail a été effectué.

Merci d'avance