Macro
camille
-
m@rina Messages postés 23923 Date d'inscription Statut Contributeur Dernière intervention -
m@rina Messages postés 23923 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voila, j'ai un classeur Excel, ou sur une feuille des exploitants transports remplissent toutes leurs demandes de transport qu'ils créent, et à partir de ce tableau je calcul grâce au tableau croisé dynamique le taux de service des transporteurs. Ce classeur devait être partagé, mais j'ai vu qu'il était impossible de partagé un classeur si il y a des tableaux croisé dynamique ou plutot que ceci ne marcheront plus.
J'aimerais donc trouver une solution macro ou autre qui me permettra de selectionner toute ma feuille de mon classeur (celui renseigné par les exploitants) et de l'envoyer dans un autre classeur afin que je puisse faire les TCD sans partager le fichier cette fois ci.
J'espère que j'ai été clair, c'est vraiment urgent
Merci d'avance
Voila, j'ai un classeur Excel, ou sur une feuille des exploitants transports remplissent toutes leurs demandes de transport qu'ils créent, et à partir de ce tableau je calcul grâce au tableau croisé dynamique le taux de service des transporteurs. Ce classeur devait être partagé, mais j'ai vu qu'il était impossible de partagé un classeur si il y a des tableaux croisé dynamique ou plutot que ceci ne marcheront plus.
J'aimerais donc trouver une solution macro ou autre qui me permettra de selectionner toute ma feuille de mon classeur (celui renseigné par les exploitants) et de l'envoyer dans un autre classeur afin que je puisse faire les TCD sans partager le fichier cette fois ci.
J'espère que j'ai été clair, c'est vraiment urgent
Merci d'avance
A voir également:
- Macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
7 réponses
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.
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
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 :-(