Rendre initilisable un fichier.

  • Initiateur de la discussion Initiateur de la discussion au.net
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

au.net

XLDnaute Nouveau
Rendre inutilisable un fichier.

Bonjour.

Je mets à jour régulierement un tableur xls avec des parités. (conversion de la monnaie). Celui ci est transmis via la messagerie à une centaine de personne qui l'enregistre sur leur espace personnel puis ils travaillent dessus.
Le probléme est que certaines personnes ne travaille pas sur le dernier tableur
que j'ai envoyé 😡

- Comment rendre inutilisable le fichier qui vient d'etre remplacé pour ne plus avoir plusieurs fichiers en cours ?

J'ai bien pensé a mettre une date de validité d'une semaine à partir de la date
d'envoie mais le probléme est que la mise à jour est aléatoire ... ( de quelques jours a plusieurs semaines )
Peut-on par exemple, mettre un lien avec un autre fichier ou il y aurait
un code que je changerai pour rendre inutilisable le fichier remplacé ?

Je vous remercie de votre aide et je peux vous donner d'autres informations complémentaires pour mieux comprendre mon souci.

Cordialement.
 
Dernière édition:
Re : Rendre initilisable un fichier.

Bonsoir au.net et le forum.

C'est pas la peine que je t'envoie un classeur étant donné qu'en te lisant je m'aperçois que ce ne sera pas ton besoin.

Tu me dis que c'est probablement plus clair, disons oui mais pour toi. Pour moi c'étais plus clair avant.
J'ai l'impression que tu ne sais pas ce que tu veux. Tu donnes de explications, ok, mais c'est pas à moi de faire la spécification, c'est à toi.

Quelques questions (merci de donner une réponse rapide à chaque question):

Tu débutes avec un classeur "A", je suppose qu'il est sous ta responsabilité, que c'est toi qui le dépose sur un réseau.
Oui, le fichier "A" est de ma responsabilité et c'est moi qui le dépose avec les mises à jour.

Un utilisateur le modifie et te le renvoie ce classeur modifié s'appelle maintenant "B"
La personne ne modifie pas le fichier "A", elle aura préalablement fait une copie de "A vers B " et travallera sur cette copie pour me l'envoyer ensuite.

Ensuite pour une autre modif il devrait partir à nouveau du classeur "A"?
Oui, le fichier "A" est toujours la base, donc recopie du "A vers C " et la personne travaille sur le "C"

Donc s'ils effacent leurs données on s'en fout.
Non, puisse qu'ils étaient sur la copie du "A"

Toi tu prends leurs données et tu fais une mise à jour de ton original, ce classeur modifié s'appelle maintenant "C" et tu mets cette version sur le réseau.
Non, je ne prend pas les classeurs "B" ou "C", je vais faire la mise à jour à partir du "A" qui est sous ma responsabilité.

Que veux-tu faire?
1) Que les utilisateurs prennent systématiquement la version à jour cad la "C" dans l"exemple ci-dessus?
Non, toujours le fichier "A" qui aura la derniere mise à jour

2) Qu'ils ne puissent plus utiliser les versions qui sont sur leur DD (attention généralement ils n'aiment pas sauf si cela les aide)
Non, il doivent l'utiliser mais à l'ouverture de ce fichier "B ou C" si j'ai refait une mise à jour du "A" il faut le message à l'ouverture du fichier sur leur DD qui dit " Prendre la nouvelle version " par exemple

Ma proposition:
A l'ouverture du classeur par un utilisateur, la date du jour et l'heure (pourquoi pas) est comparée par rapport à une référence qui se trouve sur un classeur vérrouillé par toi.
Lorsque tu diffuse une mise à jour tu change la référence en cohérence avec ta date et heure de diffusion. L'utilisateur qui ouvre un classeur non à jour aura alors un message qui lui indiquera qu'une autre version a été diffusée via une boite de dialogue.
Par contre après tu veux quoi? Tu fermes automatiquement son classeur? Tu lui donne encore 12 heures pour te l'envoyer? Tu le détruis? C'est toi qui voit.
Juste un message pour l'informer d'une mise à jour disponible

Bon sur ce A+ mais réfléchis bien avant de m'écrire à nouveau, le reste c'est que du code mais en premier lieu et avec l'expérience je m'aperçois que le plus important c'est de réaliser la spécification de son projet.


Je te remercie de ton aide.
 
Dernière édition:
Re : Rendre initilisable un fichier.

Bonsoir jeanpierre et au.net

Voilà ce que tu veux
Le classeur message.xls représente le classeur utilisateur
Le classeur reference.xls est le classeur dans lequel tu mets à jour le code (en cellule A1) en même temps que ta nouvelle diffusion.

Le classeur reference est ouvert par le classeur message à l'ouverture du classeur message.
Dans le code du classeur message il faut que tu modifies le chemin et le nom du classeur reference.
Le code se trouve dans "Thisworkbook" du classeur message.
 

Pièces jointes

Dernière édition:
Re : Rendre initilisable un fichier.

Je viens de faire les tests et c'est exactement ce que je souhaitais avoir.
Je te remercie Coco Lapin pour ce beau travail qui va me faire gagner un temps précieux
dès maintenant.

Merci également aux autres membres qui ont cherché pour trouver une solution à ma demande.

Amicalement.
 
Re : Rendre initilisable un fichier.

Bonjour.

Je souhaiterai mettre le code de comparaison sur une des pages de mon classeur xls et dans une autre cellule.
Le code ci dessous fait référence (a priori 😕) à la seule page du fichier

If Cells(1, 1) <> Reference Then et la cellule A1.

Que faut-il écrire si ma page s'appelle " image " et que le code se trouve en cellule "C5" ?

Amicalement.
 
Re : Rendre initilisable un fichier.

Merci Coco Lapin, mais je suis vraiment nul ...

Pour la 2eme partie, c'est ok: il faudra donc
If Sheets("aunet").Cells(5, 3) <> Reference Then

Et la premiere partie c'est comme cela ?
Reference = Sheets("aunet").Cells(5, 3)


Mon code se trouve au même endroit sur les fichiers " message et référence "
 
Re : Rendre initilisable un fichier.

Bonjour au.net et le forum.

Voici le code qui se trouve dans un classeur, je te donne des explications:

'tu dois changer le nom du chemin et le nom du classeur
Workbooks.Open "D:\Documents and Settings\danielc\My Documents\reference.xls"
Reference = Cells(1, 1) 'étant donné que le classeur reference.xls est celui qui apparait à
l'écran cells(1,1) convient très bien et prend cells(1,1) de l'onglet en cours.
Si la cellule concernée se trouve sur l'onglet "chiffre" et que l'onglet chiffre n'est pas sélectionné alors fais: Reference = Sheets("chiffre").cells(1,1) et encore plus compliqué si le classeur selectionné n'est pas reference.xls alors fais Reference = Workbooks("reference.xls").Sheets("chiffre").cells(1,1)
ActiveWorkbook.Close 'maintenanta je le ferme donc c'est l'autre classeur qui apparait

'Comparaison de la reference et la donnée du classeur actuelle
If Cells(1, 1) <> Reference Then
MsgBox ("Merci d'utiliser la nouvelle version qui vient d'être diffusée.")
End If


Cela pourrait te servir: pour selectionner un classeur (cad le voir à l'écran) fais
Workbooks("ton classeur.xls").Activate à condition qu'il soit ouvert
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
806
Réponses
1
Affichages
596
Retour