Macro
Fermé
camille
-
15 avril 2009 à 11:37
m@rina Messages postés 21056 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 11 octobre 2024 - 15 avril 2009 à 20:15
m@rina Messages postés 21056 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 11 octobre 2024 - 15 avril 2009 à 20:15
A voir également:
- Macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Telecharger macro nblettre.xla - Forum Bureautique
7 réponses
qmike
Messages postés
1509
Date d'inscription
mardi 19 juillet 2005
Statut
Membre
Dernière intervention
18 juin 2012
594
15 avril 2009 à 11:40
15 avril 2009 à 11:40
bonjour
oui tu devrais nous dire quels sont les calculs souhaités
en effet, dans bien des cas, la formule sommeprod peut remplacer les résultats d'un TCD
bonne journée
oui tu devrais nous dire quels sont les calculs souhaités
en effet, dans bien des cas, la formule sommeprod peut remplacer les résultats d'un TCD
bonne journée
les calculs se sont les calculs des taux de services des transporteurs. Dans le fichier les exploitants précise la date de livraison prévu et réel et en fonction de ces données j'ai fait une programmation qui me dit si la livraison a été faite en retard, liv ok ou en avance, et c'est a partir de ces données que je fais mes TCD pour déterminer le pourcentage de LIV OK.... pour chacun des transporteurs.
m@rina
Messages postés
21056
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 octobre 2024
11 337
15 avril 2009 à 12:43
15 avril 2009 à 12:43
Bonjour
Une idée comme ça en passant :
Et si tu créais une macro qui fasse un double enregistrement à chaque enregistrement : le classeur original et une copie non partagée ? Ainsi tu pourrais faire ce que tu veux avec tes tableaux croisés à partir de cette copie...
m@rina
Une idée comme ça en passant :
Et si tu créais une macro qui fasse un double enregistrement à chaque enregistrement : le classeur original et une copie non partagée ? Ainsi tu pourrais faire ce que tu veux avec tes tableaux croisés à partir de cette copie...
m@rina
Oui c'est une bonne idée, mais je ne sais pas comment faire..... je suis pas très doué en informatique, pourrais tu m'expliquais stp?
merci
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
m@rina
Messages postés
21056
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 octobre 2024
11 337
15 avril 2009 à 13:52
15 avril 2009 à 13:52
En simplifiant à l'extrême, voilà ce qu'on peut faire :
Tu copies-colles cette macro dans le module ThisWorkBook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
FileCopy ActiveWorkbook.FullName, "C:\version2.xls"
End Sub
Evidemment, il faut départager et déprotéger pour mettre la macro. Ensuite tu reprotèges avec partage.
Quand l'utilisateur fermera le document, celui-ci sera enregistré également en copie sous le nom "version2.xls" (dans mon exemple).
Evidemment, la macro sera recopiée aussi. Pour éviter l'erreur qui va fatalement survenir quand tu voudras fermer la version2, j'ai juste mis un "On Error Resume Next".
Avec cette fonction simplissime, on ne peut pas créer un classeur avec déprotection et en fait, je ne pense que ce n'est pas souhaitable car dans la version2, c'est bien que tu puisses voir les modifs qui ont été faites. Tu pourras le déprotéger manuellement, c'est rapide.
J'ai prévu cette macro à la fermeture du fichier parce que si on la prévoit à la sauvegarde, la copie sera toujours N-1... Le risque c'est que l'utilisateur sauvegarde sans fermer... Aussi on peut peut être prévoir la macro également à la copie...
Mais bon, peut être que d'autres intervenants auront plus d'idées ! ;))
m@rina
Tu copies-colles cette macro dans le module ThisWorkBook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
FileCopy ActiveWorkbook.FullName, "C:\version2.xls"
End Sub
Evidemment, il faut départager et déprotéger pour mettre la macro. Ensuite tu reprotèges avec partage.
Quand l'utilisateur fermera le document, celui-ci sera enregistré également en copie sous le nom "version2.xls" (dans mon exemple).
Evidemment, la macro sera recopiée aussi. Pour éviter l'erreur qui va fatalement survenir quand tu voudras fermer la version2, j'ai juste mis un "On Error Resume Next".
Avec cette fonction simplissime, on ne peut pas créer un classeur avec déprotection et en fait, je ne pense que ce n'est pas souhaitable car dans la version2, c'est bien que tu puisses voir les modifs qui ont été faites. Tu pourras le déprotéger manuellement, c'est rapide.
J'ai prévu cette macro à la fermeture du fichier parce que si on la prévoit à la sauvegarde, la copie sera toujours N-1... Le risque c'est que l'utilisateur sauvegarde sans fermer... Aussi on peut peut être prévoir la macro également à la copie...
Mais bon, peut être que d'autres intervenants auront plus d'idées ! ;))
m@rina
Je viens de copier coller comme tu m'as dit, mais lorsque je fais executer sa me demande le nom de la macro.....
Désolé de mon niveau pitoyable :-(
Désolé de mon niveau pitoyable :-(
m@rina
Messages postés
21056
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
11 octobre 2024
11 337
15 avril 2009 à 20:15
15 avril 2009 à 20:15
La macro est une macro événementielle, cela signifie qu'elle s'exécute automatiquement selon l'événement qui est ici la fermeture du fichier. On ne peut pas la lancer manuellement.
Donc, mets ta macro (dans le module WorkBook), enregistre et ferme pour tester.
m@rina
Donc, mets ta macro (dans le module WorkBook), enregistre et ferme pour tester.
m@rina