Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel

Excel Forum d'entraide sur Excel

Réponse
 
Outils de la discussion
Vieux 27/08/2008, 16h28   #1 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: octobre 2005
Messages: 20
Par défaut Problème avec VBA quand le fichier est en mode partagé ?

Bonjour,

j'ai défini des fonctions et procédures événementielles VBA dans un fichier Excel. Tout fonctionne correctement, sauf quand je partage le fichier sur un réseau. Après recherche sur internet, certains disent que VBA ne marcherait pas quand le fichier est en mode partagé. Or certaines parties de mon code VBA fonctionne bien en mode partagé, le premier endroit où ça bloque, c'est au niveau du code suivant :

Code :
With Worksheets("Saisie des projets").Cells(ligne, 8).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=listeP
End With
Connaissez-vous les fonctions VBA incompatible en mode partagé ? Avez-vous une idée pour contourner le problème ci-dessus ? (Je veux définir une liste déroulante à partir des mots contenus dans la variable "listeP".)

Merci.

Dernière modification par Caro-Line ; 27/08/2008 à 17h12 Motif: Ajout balises code (#) ce n'est pas facultatif
Alec est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/08/2008, 21h44   #2 (permalink)
Responsable Excel
 
Avatar de SilkyRoad
 
Date d'inscription: août 2005
Messages: 3 113
Par défaut

bonsoir


je n'ai pas retrouvé le lien sur le site Microsoft mais voici un extrait de l'article :

Citation:
Restrictions liées aux classeurs partagés
Certaines fonctionnalités de Microsoft Excel ne sont plus disponibles lorsque vous utilisez un classeur partagé. Si toutefois vous en avez besoin, utilisez-les avant de partager le classeur ou retirez celui-ci de l'utilisation partagée. Pour plus d'informations, cliquez sur .

Dans un classeur partagé, il est impossible de :

Cellules
Fusionner des cellules, mais vous pouvez afficher des cellules fusionnées avant le partage du classeur.
Insérer ou supprimer des blocs de cellules mais vous pouvez insérer ou supprimer des lignes et des colonnes entières.



Feuilles de calcul, boîtes de dialogue et menus
Supprimer des feuilles de calcul.
Modifier des boîtes de dialogue ou des menus.


Mises en forme conditionnelles et validation de données
Définir ou appliquer des mises en forme conditionnelles, mais vous pouvez visualiser les effets des formats conditionnels appliqués avant le partage du classeur.
Définir ou modifier les restrictions de validation de données ainsi que les messages, mais vous pouvez visualiser les conséquences des restrictions et des messages définis avant le partage du classeur.


Objets, graphiques, images et liens hypertexte
Insérer ou modifier des graphiques, des images, des objets ou des liens hypertexte.
Utiliser les outils de dessin.


Mots de passe
Attribuer un mot de passe pour protéger des feuilles de calcul individuelles ou le classeur entier. La protection appliquée avant le partage du classeur reste effective après le partage.
Modifier ou supprimer des mots de passe. Les mots de passe que vous affectez avant de partager le classeur demeurent en vigueur une fois que celui-ci est partagé.


Scénarios
Enregistrer, afficher ou modifier des scénarios.


Plans, groupes et sous-totaux
Grouper les données ou les structurer sous forme de plan.
Insérer des sous-totaux automatiques.


Tables de données et tableaux croisés dynamiques
Créer des tables de données.
Créer des tableaux croisés dynamiques ou modifier leur présentation.


Macros
Écrire, modifier, afficher, enregistrer ou affecter des macros.
Toutefois, vous pouvez enregistrer dans une macro des opérations effectuées dans un classeur partagé ; enregistrez la macro dans un autre classeur non partagé.
Dans un classeur partagé, vous pouvez exécuter des macros créées avant le partage du classeur ; cependant, si vous exécutez une macro incluant une opération non disponible, celle-ci interrompt la macro.



bonne soirée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/08/2008, 10h13   #3 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: octobre 2005
Messages: 20
Par défaut

Bonjour et merci,

il est donc impossible de "Définir ou modifier les restrictions de validation de données ainsi que les messages", ce qui explique que ma macro qui devait définir une liste de choix déroulante a échoué. Connaissez-vous une solution pour contourner ce problème ?
Alec est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/08/2008, 11h34   #4 (permalink)
Responsable Excel
 
Avatar de SilkyRoad
 
Date d'inscription: août 2005
Messages: 3 113
Par défaut

bonjour


Citation:
Connaissez-vous une solution pour contourner ce problème ?
La seule solution consiste à enlever le partage provisoirement, le temps d'effectuer tes modifications mais cela signifie que tu perdras tous les autres avantages du partage:

* Les modifications en cours qui n'ont pas été enregistrées par les autres utilisateurs seront perdues.
* L'historique des modifications sera effacé. tu devras donc créer préalablement une sauvegarde de l'historique.


Par exemple
Comment protéger une feuille dans un classeur déjà partagé ?



bonne journée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/08/2008, 16h42   #5 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: octobre 2005
Messages: 20
Par défaut

Citation:
Envoyé par SilkyRoad Voir le message

La seule solution consiste à enlever le partage provisoirement, le temps d'effectuer tes modifications mais cela signifie que tu perdras tous les autres avantages du partage:

* Les modifications en cours qui n'ont pas été enregistrées par les autres utilisateurs seront perdues.
* L'historique des modifications sera effacé. tu devras donc créer préalablement une sauvegarde de l'historique.

l
Ah oui, c'est très génant parce que ce fichier est utilisé par une dizaine de personnes et la simplicité est un critère important. Cette manip prend du temps et peut engendrer des erreurs si elle est mal faite. J'ai cherché sur internet : il semblerait qu'on peut créer en vba des combobox pour avoir une liste déroulante. J'espère que cette solution est valable en mode partagé...
Alec est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/08/2008, 17h04   #6 (permalink)
Responsable Excel
 
Avatar de SilkyRoad
 
Date d'inscription: août 2005
Messages: 3 113
Par défaut

Citation:
Restrictions liées aux classeurs partagés
...
Objets, graphiques, images et liens hypertexte
Insérer ou modifier des graphiques, des images, des objets ou des liens hypertexte.
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 12h06   #7 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: octobre 2005
Messages: 20
Par défaut

Silkyroad, merci pour tes réponses. Une dernière question : est-ce qu'en séparant le code VBA et en le mettant dans un fichier .xla, ça pourrait marcher ? (Si cette solution ne marche pas, il faudrait que je ne partage pas le fichier, les gens ne pourront pas le modifier en même temps, mais au moins il y aura toutes les fonctionnalités.)
Alec est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/09/2008, 18h42   #8 (permalink)
Responsable Excel
 
Avatar de SilkyRoad
 
Date d'inscription: août 2005
Messages: 3 113
Par défaut

bonsoir

Citation:
est-ce qu'en séparant le code VBA et en le mettant dans un fichier .xla, ça pourrait marcher ?
ça ne changera rien car la limitation est due à l'action sur le classeur partagé et non au code VBA par lui même.


bonne soirée
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide