-
Initialiser un onglet
Bonjour,
Un petit problème se pose à moi lors du développement d'une macro.
Je crée une cartographie à partir de données récupérées sur l'onglet 1 de mon classeur, sur un onglet 2 sur lequel j'ai prédéfini un modèle.
Ma macro, si il est nécessaire, ajoute des lignes pour alonger la cartographie.
J'aimerai que mon utilisateur puisse répéter l'opération plusieurs fois, avec une sélection de données différente sur l'onglet 1. Pour cela, je voudrai donc initialiser à chaque fois mon onglet 2 pour avoir la mise en forme de base.
Comment puis je procéder?
J'avais pensé à créer un onglet caché et d'y disposer mon modèle afin de faire un copier collé massif mais le résultat n'est pas terrible paar le biais de la macro...
Merci
-
est ce que tu peux nous envoyer un exemple s'il te plait ( ton fichier )
-
1 pièce(s) jointe(s)
Bien sur.
Ci joint mon exemple
-
Tu peux te faire un modèle de feuille et la rendre invisible. Ceci fait en sorte que ton classeur n'a plus qu'un onglet (si tu supprimes la troisième feuille qui est là par défaut).
Ensuite, tu copie/colle cette feuille invisible dans ton classeur en cours pour en faire ton onglet2. Chaque fois que l'utilisateur redemande l'opération, tu supprime l'onglet2 visible et tu copie/colle l'onglet-modèle invisible...
-
Très bien. J'ai réussi ce que je voulais faire, en passant par une macro ca fonctionne beaucoup mieux...
Un autre problème se pose à moi à présent.
Je veux qu'à la consultation d'un onglet, le chargement de mes données se refasse. Problème: si je fais un Sub WorksheetActivate sur l'onglet 2, ma fonction tourne en rond puisque elle appelle une fonction du module 1 qui l'apelle elle même (cette fonction fait un aller retour entre onglet 1 et onglet 2). Comment puis palier à cela?
Merci
-
Fais un:
Code:
Application.EnableEvents = False
avant ton appel à la fonction du module 1 et un
Code:
Application.EnableEvents = True
après.