J'utilise Auto_Open sur un modèle Excel (.xlt) pour exécuter une macro qui importe certaines données dans un sperate feuille, ajoute un peu de forula, puis crée un certain nombre de tableaux croisés dynamiques et de graphiques. Le résultat est un rapport finalisé qui peut ensuite être enregistré en tant que .xls.Comment arrêter une macro si elle a déjà été exécutée ou s'il y a une valeur dans une cellule particulière
J'ai ajouté l'instruction IF suivante en haut du sous-élément Auto_Open pour vérifier la cellule A2 si elle contient "Service Activity Report" (il s'agit d'une cellule fusionnée de A2: N2) et si elle quitte la macro. Ceci permet à la macro de ne pas s'exécuter une deuxième fois après la génération du rapport.
If ActiveSheet.Range("A2").Text = "Service Activity Report" Then
Exit Sub
Else
Deux questions:
Est-ce la meilleure façon d'arrêter le fonctionnement macro pour une deuxième fois et le rapport finalisé en écrasant?
La macro ne fonctionne que dans Excel 2007 en raison de la nature des cartes encore le code ci-dessus est sautée dans Excel 2003
Toutes les idées?
Pourquoi utilisez-vous la macro Auto Open si vous n'avez pas besoin d'exécuter le code chaque fois que le fichier est ouvert? –