Partager un classeur .xlsm sous excel 2007
Joss0109
Messages postés
137
Date d'inscription
Statut
Membre
Dernière intervention
-
Joss0109 Messages postés 137 Date d'inscription Statut Membre Dernière intervention -
Joss0109 Messages postés 137 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai créé un classeur excel 2007 avec plusieurs macros.
Ce classeur ce compose principalement de deux feuilles :
- Une consacrée au Menu (avec plusieurs boutons d'action)
- La deuxième sert a stocker toutes les données dans un tableau avec une mise en page conditionnelle
Les boutons d'actions de la 1ere me servent à manipuler le tableau se trouvant sur la deuxième feuille (masquer/afficher des colonnes avec "MDP"... modifier la mise en page du tableau... etc...)
J'ai aujourd'hui 8 personnes sur le réseau susceptibles d'utiliser cette application et de l'alimenter.
-Quand je veux le partager, je rencontre deux problèmes :
- Désactivation des macros !
- il me demande de faire sauter la mise en forme conditionnelle sur mon tableau et de mettre une mise en page "classique" (ce qui massacre mon tableau....)
Si quelqu'un à une solution, ça serait bien !
PS : en vba je suis preneur !!!
Merci a vous
Joss
J'ai créé un classeur excel 2007 avec plusieurs macros.
Ce classeur ce compose principalement de deux feuilles :
- Une consacrée au Menu (avec plusieurs boutons d'action)
- La deuxième sert a stocker toutes les données dans un tableau avec une mise en page conditionnelle
Les boutons d'actions de la 1ere me servent à manipuler le tableau se trouvant sur la deuxième feuille (masquer/afficher des colonnes avec "MDP"... modifier la mise en page du tableau... etc...)
J'ai aujourd'hui 8 personnes sur le réseau susceptibles d'utiliser cette application et de l'alimenter.
-Quand je veux le partager, je rencontre deux problèmes :
- Désactivation des macros !
- il me demande de faire sauter la mise en forme conditionnelle sur mon tableau et de mettre une mise en page "classique" (ce qui massacre mon tableau....)
Si quelqu'un à une solution, ça serait bien !
PS : en vba je suis preneur !!!
Merci a vous
Joss
A voir également:
- Partager un classeur .xlsm sous excel 2007
- Partager des photos - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
5 réponses
Bonjour,
D'abord, le fait de partager le classeur ne désactive pas les macros mais empêche seulement leur modification.
Ensuite, une solution est de ne pas partager le classeur en :
1- le mettant en lecture seule recommandée,
2- gérant une file d'attente d'écriture dès qu'il est demandé de l'alimenter.
D'abord, le fait de partager le classeur ne désactive pas les macros mais empêche seulement leur modification.
Ensuite, une solution est de ne pas partager le classeur en :
1- le mettant en lecture seule recommandée,
2- gérant une file d'attente d'écriture dès qu'il est demandé de l'alimenter.
Bonjour,
idem pour les MFC, elles ne sont pas incompatibles mais :
Ajout ou modification de mises en forme conditionnelles
Les mises en forme conditionnelles existantes continuent à apparaître lorsque les valeurs des cellules changent, mais vous ne pouvez pas modifier ces mises en forme ni redéfinir les conditions.
eric
idem pour les MFC, elles ne sont pas incompatibles mais :
Ajout ou modification de mises en forme conditionnelles
Les mises en forme conditionnelles existantes continuent à apparaître lorsque les valeurs des cellules changent, mais vous ne pouvez pas modifier ces mises en forme ni redéfinir les conditions.
eric
Bonjour Messieurs et merci de vos réponses !
Si je ne partage pas le classeur, comment puis-je avoir un fichier qui puisse être alimenté par plusieurs personnes en même temps ? sinon à quoi bon… je ne comprends pas…
Comment gérer la file d’attente ?
D’autre part, voici le message qu’excel me permets quand je souhaite partager, peut-être que ca vous parlera :
« Impossible de partager ce classeur car il contient des tableaux excel ou des nappages XML. Pour partager ce classeur, convertissez les tableaux en plages et supprimez les nappages XML… »
… et il m’indique la procédure pour convertir, et il me fait sauter mes mises en page conditionnelles et je me retrouve avec des tableaux merdiques…
Voilà !
Peut-être avez-vous d’autres éléments de réponse, ça serait sympas !!!
Merci à vous les gars !
Joss
Si je ne partage pas le classeur, comment puis-je avoir un fichier qui puisse être alimenté par plusieurs personnes en même temps ? sinon à quoi bon… je ne comprends pas…
Comment gérer la file d’attente ?
D’autre part, voici le message qu’excel me permets quand je souhaite partager, peut-être que ca vous parlera :
« Impossible de partager ce classeur car il contient des tableaux excel ou des nappages XML. Pour partager ce classeur, convertissez les tableaux en plages et supprimez les nappages XML… »
… et il m’indique la procédure pour convertir, et il me fait sauter mes mises en page conditionnelles et je me retrouve avec des tableaux merdiques…
Voilà !
Peut-être avez-vous d’autres éléments de réponse, ça serait sympas !!!
Merci à vous les gars !
Joss
bonjour,
ci-dessous exemple de code pour gérer une file d'attente de 5 secondes en écriture pour un classeur non partagé
ci-dessous exemple de code pour gérer une file d'attente de 5 secondes en écriture pour un classeur non partagé
Private Sub Workbook_Open()
Application.DisplayAlerts = False
If ThisWorkbook.ReadOnly Then
réponse = MsgBox("Voulez-vous modifier ce fichier ?", vbYesNo + vbDefaultButton2)
If réponse = vbYes Then
Nom_fichier = ThisWorkbook.Path & "\" & ThisWorkbook.Name
'..... contrôle libre accès classeur pour modification sinon attente 5 secondes .......................................
Do While IsWorkBookOpenForWrite(Nom_fichier)
date_fin = DateAdd("s", 5, Now)
Application.Wait date_fin
Loop
'..... lancement nouvelle instance Excel avec ouverture fichier pour modification ....................................
Set xl = New Application
xl.Visible = True
xl.Workbooks.Open fileName:=Nom_fichier, IgnoreReadOnlyRecommended:=True
'..... fermeture instance Excel avec ouverture fichier en lecture seule ....................................
Application.Quit
End If
End If
End Sub
Function IsWorkBookOpenforwrite(ByVal Nom_fichier As String) As Boolean
Dim no_fichier As Long
On Error Resume Next
no_fichier = FreeFile()
Open Nom_fichier For Binary Access Read Lock Read Write As #no_fichier
If Err.Number = 0 Then IsWorkBookOpenforwrite = False _
Else IsWorkBookOpenforwrite = True
Close no_fichier
End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question