OVH Cloud OVH Cloud

Partage et VBA

4 réponses
Avatar
coco74
Bonjour à tous,

J'utilise régulièrement l'enregistreur de macros, mais là il refuse de
m'écrire le code pour actionner ou supprimer le partage d'un classeur. Qui
peut m'aider ??

Merci d'avance
--
coco

4 réponses

Avatar
isabelle
bonjour coco74,

il faut utiliser la propriété MultiUserEditing,

extrait de l'aide :

Cet exemple montre comment déterminer si le classeur actif est ouvert en mode exclusif et,
si tel est le cas, comment enregistrer ce dernier en tant que liste partagée.

If Not ActiveWorkbook.MultiUserEditing Then
ActiveWorkbook.SaveAs fileName:¬tiveWorkbook.FullName, _
accessMode:=xlShared


isabelle


Bonjour à tous,

J'utilise régulièrement l'enregistreur de macros, mais là il refuse de
m'écrire le code pour actionner ou supprimer le partage d'un classeur. Qui
peut m'aider ??

Merci d'avance


Avatar
coco74
Bonjour Isabelle et merci !

Je me souviens d'une Isabelle qui m'avait déjà aidé, peut-être est-ce toi ?

J'imagine que c'est "xlShared" qui bascule le classeur en mode partagé, mais
comment effectuer l'opération inverse ?
--
coco



bonjour coco74,

il faut utiliser la propriété MultiUserEditing,

extrait de l'aide :

Cet exemple montre comment déterminer si le classeur actif est ouvert en mode exclusif et,
si tel est le cas, comment enregistrer ce dernier en tant que liste partagée.

If Not ActiveWorkbook.MultiUserEditing Then
ActiveWorkbook.SaveAs fileName:¬tiveWorkbook.FullName, _
accessMode:=xlShared


isabelle


Bonjour à tous,

J'utilise régulièrement l'enregistreur de macros, mais là il refuse de
m'écrire le code pour actionner ou supprimer le partage d'un classeur. Qui
peut m'aider ??

Merci d'avance





Avatar
isabelle
bonjour coco74,

Bonjour Isabelle et merci !

Je me souviens d'une Isabelle qui m'avait déjà aidé, peut-être est-ce toi ?

J'imagine que c'est "xlShared" qui bascule le classeur en mode partagé, mais
comment effectuer l'opération inverse ?


voici l'extrait de l'aide su AccessMode (Voir : SaveAs)

AccessMode Argument XlSaveAsAccessMode facultatif.

XlSaveAsAccessMode peut être l'une de ces constantes XlSaveAsAccessMode.
xlExclusive (mode exclusif)
xlNoChange par défaut (ne modifiez pas le mode d'accès)
xlShared (share list)
Si vous ne spécifiez pas cet argument, le mode d'accès n'est pas modifié.
Cet argument est ignoré si vous enregistrez une liste partagée sans changer le nom du fichier.
Pour changer le mode d'accès, utilisez la méthode ExclusiveAccess.

Exemple
Cet exemple montre comment déterminer si le classeur actif est ouvert en tant que liste partagée et,
si tel est le cas, comment attribuer un accès exclusif à l'utilisateur en cours.

If ActiveWorkbook.MultiUserEditing Then
ActiveWorkbook.ExclusiveAccess
End If

isabelle

Avatar
coco74
Merci Isabelle, je vais tester tout ça !
--
coco



bonjour coco74,

Bonjour Isabelle et merci !

Je me souviens d'une Isabelle qui m'avait déjà aidé, peut-être est-ce toi ?

J'imagine que c'est "xlShared" qui bascule le classeur en mode partagé, mais
comment effectuer l'opération inverse ?


voici l'extrait de l'aide su AccessMode (Voir : SaveAs)

AccessMode Argument XlSaveAsAccessMode facultatif.

XlSaveAsAccessMode peut être l'une de ces constantes XlSaveAsAccessMode.
xlExclusive (mode exclusif)
xlNoChange par défaut (ne modifiez pas le mode d'accès)
xlShared (share list)
Si vous ne spécifiez pas cet argument, le mode d'accès n'est pas modifié.
Cet argument est ignoré si vous enregistrez une liste partagée sans changer le nom du fichier.
Pour changer le mode d'accès, utilisez la méthode ExclusiveAccess.

Exemple
Cet exemple montre comment déterminer si le classeur actif est ouvert en tant que liste partagée et,
si tel est le cas, comment attribuer un accès exclusif à l'utilisateur en cours.

If ActiveWorkbook.MultiUserEditing Then
ActiveWorkbook.ExclusiveAccess
End If

isabelle