canichon
Messages postés50Date d'inscriptionvendredi 7 juillet 2006StatutMembreDernière intervention 2 septembre 2009
-
2 oct. 2007 à 15:20
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 2011
-
2 oct. 2007 à 17:42
Bonjour à tous,
Voilà, je travaille sous Excel 97, j'ai un fichier excel qui comporte pas mal de macro ( qui modifie le fichier bien sur ) et je voudrais suivre les modifications apportées à ce fichier. Mais, j'ai l'impression qu'Excel n'aime pas trop les macros et le suivi de modifications...
A l'activation du suivi de modification, Excel me dit : Ce classeur contient des macros enregistrées ou écrites en visual basic. Impossible de modifier ou modifier des macros dans des classeurs partagés. !!!
Mais quand le suivi est activé, je ne peu xplus faire tourner mes macros !!!
Comment puis-je faire pour faire co-exister les 2 ???
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 2 oct. 2007 à 17:02
Bonjour,
Quelles sont les modifications que tu veux suivre ? Celles dans le fichier ou celles dans les macros ?
Pour les modifs dans le fichier c'est possible en jouant avec "Worksheet_Change" pour chaque feuille du fichier Excel mais je crains que ça ne fasse rapidement un fichier énorme à gérer
Cliquer "Réponse Acceptée"
JML - Partageons Notre Savoir & Nos Acquis
canichon
Messages postés50Date d'inscriptionvendredi 7 juillet 2006StatutMembreDernière intervention 2 septembre 2009 2 oct. 2007 à 17:27
je viens de faire un nouveau test...
j'ai un fichier vierge dans lequel je crée une macro toute conne ( range("A2").select )...
A partir du moment où j'active le suivi des modif... je n'arrive plsua acceder à l'interface de programmation de mon fichier sous vba... donc meme en jouant avec worksheet_change... NO WAY !!!
Je pense que C un peu mort...
Vous n’avez pas trouvé la réponse que vous recherchez ?
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 2 oct. 2007 à 17:37
Voilà qui correspond à ma proposition "Worksheet_Change"
Mets le code ci-dessous au niveau des feuilles modifiables
Option Explicit
Dim Undo_Fait
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Val_Actuel, Val_Preced
If Undo_Fait = "" Then
Val_Actuel = Target
Undo_Fait = True
Application.Undo
ElseIf Undo_Fait = True Then
Val_Preced = Target
Undo_Fait = "Fait"
Application.Undo
Else
Undo_Fait = ""
End If
'Développer code stockage des données modifiées ... Date, Val Origine, Val Nouv, etc .
End Sub