Probleme d'un prog VBA sur une feuille excel en mode multi-utilisateur

Didinator
Messages postés
11
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
12 mai 2010
- 11 mai 2010 à 14:40
Didinator
Messages postés
11
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
12 mai 2010
- 12 mai 2010 à 09:47
Salut,

Bon je ne sais pas si je poste mon sujet au bon endroit mais je vois pas ou autrement...

Alors voila, je ne suis pas du tout informaticien, plutôt mécanicien ^^, mais j'ai quand meme appris a faire un peu de VBA dans ma formation.
Au boulot je me suis lancer dans un petit programme pour faire un calendrier de réservation de salle de réunion sur excel (un truc tout simple "graphique"). Le programme fonctionne très bien mais voila il est mis sur un réseau et on a donc activer le mode multi-utilisateur pour permettre l'ouverture du fichier et la modification a plusieurs utilisateur en même temps. Tout fonctionnai bien jusqu'à maintenant. Je m'explique, dans le programme un moment il y a une commande "delete" qui supprime les feuilles (une feuille représente une semaine) trop vieille (ex: on est en semaine 20, on supprime donc tout les feuilles <20) Maintenant quand le programme se lance, j'ai une erreur de la fonction delete, et quand je désactive le mode multi-utilisateur pour accéder a mon programme et essayer de trouver d'où sa peut venir, le programme tourne sans erreur...

Voila mon souci...
Étant donné que je lui loin d'être expert (je bidouille beaucoup) je ne vois pas du tout d'où sa peu venir...
Si vous avez une solution, ou des idées...

Merci beaucoup
Bye

4 réponses

jordane45
Messages postés
35462
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mai 2022
356
11 mai 2010 à 17:45
Bonjour,

Certaines actions ne sont pas réalisables lorsqu'un classeur est partagé...

voir par exemple: http://office.microsoft.com/fr-fr/excel/HP100968331036.aspx#EditWorkbook
Remarque Vous ne pourrez pas ajouter ou modifier les éléments suivants : cellules fusionnées, mises en forme conditionnelles, validation des données, graphiques, images, objets (notamment les objets dessins), liens hypertexte, scénarios, contours, sous-totaux, tables de données, rapports de tableau croisé dynamique, protection des classeurs et des feuilles de calcul, et macros


Il me semble que la suppression des feuilles en fait parti.

Cordialement,
Jordane,
0
Didinator
Messages postés
11
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
12 mai 2010

11 mai 2010 à 18:08
Ha ouai ok je vois...

J'ai penser a une solution, est-ce possible avant l'exécution du programme de désactiver le partage et le réactiver juste après de façon automatique?
Genre une commande VBA ou un truc dans le genre...

Merci
0
jordane45
Messages postés
35462
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mai 2022
356
11 mai 2010 à 18:29
Oui ça me semble faisable.
En utilisant l'enregistreur de macro.. j'ai obtenu le code suivant pour enlever le partage :
    Windows("test_partage.xls").Activate
    ActiveWorkbook.ExclusiveAccess
    ActiveWorkbook.KeepChangeHistory = True
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\j_reynet\Bureau\test_partage.xls", AccessMode:= _
        xlShared
    Windows("Classeur3").Activate


je te laisse tester.

Cordialement,
Jordane,
0
Didinator
Messages postés
11
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
12 mai 2010

12 mai 2010 à 09:47
Parfait, sa fonctionne très bien merci beaucoup.

Juste au lieu d'utiliser le chemin d'accès au fichier comme sa j'ai utilisé la fonction FullName comme sa si le fichier doit être transporter y a aucun souci.

Merci encore

Bye
0