Macro et suivi des modifications [Résolu]

Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Dernière intervention
2 septembre 2009
- 2 oct. 2007 à 15:20 - Dernière réponse :
Messages postés
444
Date d'inscription
mardi 27 mars 2007
Derniè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 ???

Merci d'avance
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
444
Date d'inscription
mardi 27 mars 2007
Dernière intervention
1 mars 2011
2 oct. 2007 à 17:42
3
Merci
Trop de précipiation ...
Il faut déclarer toutes les variables ua niveau du module

Option Explicit
Dim Val_Actuel, Val_Preced, Undo_Fait
Private Sub Worksheet_Change(ByVal Target As Range)

 Cliquer "Réponse Acceptée"
JML - Partageons Notre Savoir & Nos Acquis

Merci JM247L 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de JM247L
Messages postés
444
Date d'inscription
mardi 27 mars 2007
Dernière intervention
1 mars 2011
2 oct. 2007 à 17:02
0
Merci
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
Commenter la réponse de JM247L
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Dernière intervention
2 septembre 2009
2 oct. 2007 à 17:05
0
Merci
Donnons un exemple,

Mon fichier utilise une macro pour afficher certaines colonnes et en cacher d'autres... et ça je me fous de le suivre !!!

Par contre une fois les bonnes colonnes affichées, l'utilisateur doit entrer des données que, là, je voudrais suivre...
Commenter la réponse de canichon
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Dernière intervention
2 septembre 2009
2 oct. 2007 à 17:27
0
Merci
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...
Commenter la réponse de canichon
Messages postés
444
Date d'inscription
mardi 27 mars 2007
Dernière intervention
1 mars 2011
2 oct. 2007 à 17:37
0
Merci
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

 Cliquer "Réponse Acceptée"
JML - Partageons Notre Savoir & Nos Acquis
Commenter la réponse de JM247L

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.