Bonjour!
J'ai deux petites questions :
1/ Comment peut-on masquer l'execution d'une macro? (ne pas visualiser les changements de feuilles, les déplacements dans les lignes, les sélections...)
2/ Y-a-t-il moyen de savoir quelle cellule à été modifiée? J'ai utilisé l'évémement WorkSheet_Change, mais le problème est que :
- Il s'agit de cellule contenant des listes déroulantes, et je veux répertorier tous les changements effectués sur ma feuille, dans une feuille "Log".
- Si l'utilisateur sélectione la valeur dans la liste avec la souris, pas de problème ca fonctionne.
- Mais s'il entre au clavier la valeur se trouvant dans la liste, puisqu'il se déplace sur la cellule suivante avec les flèches du clavier, ce que je récupére est la cellule de destination.
Voici mon code :
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 TabModif(0) = Format(Now, "dd/mm/yyyy") TabModif(1) = Time TabModif(2) = Environ("username") TabModif(3) = ActiveSheet.Name TabModif(4) = Cells(3, ActiveCell.Column).Value TabModif(5) = ActiveCell.Row TabModif(6) = ActiveCell.Value i = 2 Do i = i + 1 Loop Until Sheets("Log").Cells(i, 1).Value = "" Sheets("Log").Cells(i, 1).Value = TabModif(0) Sheets("Log").Cells(i, 2).Value = TabModif(1) Sheets("Log").Cells(i, 3).Value = TabModif(2) Sheets("Log").Cells(i, 4).Value = TabModif(3) Sheets("Log").Cells(i, 5).Value = TabModif(4) Sheets("Log").Cells(i, 6).Value = TabModif(5) Sheets("Log").Cells(i, 7).Value = TabModif(6)
Partager