Partager tableau sans que chacun puisse ecraser les donnés

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 !

jpmasclet

XLDnaute Occasionnel
Bonjour a tous,

Je suis désolé le titre n'est surement pas explicite mais voila mon gros souci.
J'ai créer un fichier excel qui est une base de donnés pour le suivi, il y a des formules de relances, des feuilles rattachés et meme un courrier.

Mon souci est que je souhaite le partagé, mais dans ce cas si X ouvre le tableau il sera sur la ligne vide n°258 et quand Y l'ouvrira, il sera aussi sur la ligne vide 258, donc un des deux enregistrements sera ecrasés.

Avez vous une idée, il faut que j'arrive a "pondre' quelque chose pour demain matin.


Merci par avance pour vos aides.


Pour info, j'ai pensé faire cette base sur acces, mais je n'arrive pas a cause des formules et formules conditionnelle, le fichier serai moins ludique à l'utilisation.
 
Re : Partager tableau sans que chacun puisse ecraser les donnés

Si cela peut vous aider, j'ai juste fait un petit copier coller du tableau, je ne vous est mis juste une feuille. (sans les autres de calcul et les courriers rattaché pour des raisons de confidencialité.)

Je veux que plusieurs personnes alimente le tableau en meme temps. est ce possible.

j'ai pensé a un userform qui met les info a la suite mais je ne suis pas pro des userform de ce type.

Si vous avez une idée cela m'aiderai bcp.

merci
 

Pièces jointes

Re : Partager tableau sans que chacun puisse ecraser les donnés

Bonjour JP Masclet,

le moins mal dans ton cas est :
1. de créer un fichier par personne et qui sera complété par cette personne
2. dans le 'master', aller chercher dans chaque fichier et faire une extraction (couper coller dans ce master).

Comme cela le fichier 'data' de chaque personne se retrouve vide pour pouvoir à nouveau y remettre des données

L'amin de l'appli ira chercher les données (par macro ou manuellement) dans chaque fichier 'data' individuel
 
Re : Partager tableau sans que chacun puisse ecraser les donnés

Bonjour et merci pour ta réponse.

Donc pour régler mon probleme simplement, j'ai créer plusieurs feuilles (gestionnaire1,2 jusqu'a 5) au chaque personne travaille en partager.

Tout les soirs le responsable va fusionner ces feuilles grace ma formule (qui vide les feuilles gestionnaires pour remplir la feuille Suivi)

Mon souci est que j'ai reussi par formule a enlever le partage du classuers mais je n'arrive pas a la fin de la macro a la remettre.

Je vous joint le code si ça vous intérresse ou si ça peut vous aider a régler mon souci. Désolé pour le code barbare mais je me suis pas mal servi de la macro auto.

Merci pour votre aide

Code:
Sub fusion_suivi()
'
' fusion_suivi Macro
' Macro enregistrée le 21/12/2006 par Masclet Jean Paul
'

'enleve le partage du classeur
    ActiveWorkbook.ExclusiveAccess
    Sheets("Suivi des Mineurs").Select
'enleve les protections
    ActiveSheet.Unprotect
'Selectionne la table, place un filtre, selectionne les élements et les cooles dans la feuille cible
    Sheets("Gestionnaire1").Select
    ActiveSheet.Unprotect
    Rows("13:13").Select
    Selection.AutoFilter
    ActiveWindow.ScrollColumn = 52
    ActiveWindow.ScrollColumn = 1
    Range("B13").Select
    Selection.AutoFilter Field:=2, Criteria1:="<>"
    Range("A14:M4400").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Suivi des Mineurs").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
    Application.CutCopyMode = False
'Selectionne la table, place un filtre, selectionne les élements et les cooles dans la feuille cible
    Sheets("Gestionnaire2").Select
    ActiveSheet.Unprotect
    Rows("13:13").Select
    Selection.AutoFilter
    ActiveWindow.ScrollColumn = 52
    ActiveWindow.ScrollColumn = 1
    Range("B13").Select
    Selection.AutoFilter Field:=2, Criteria1:="<>"
    Range("A14:M4400").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Suivi des Mineurs").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
    Application.CutCopyMode = False
'Selectionne la table, place un filtre, selectionne les élements et les cooles dans la feuille cible
    Sheets("Gestionnaire3").Select
    ActiveSheet.Unprotect
    Rows("13:13").Select
    Selection.AutoFilter
    ActiveWindow.ScrollColumn = 52
    ActiveWindow.ScrollColumn = 1
    Range("B13").Select
    Selection.AutoFilter Field:=2, Criteria1:="<>"
    Range("A14:M4400").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Suivi des Mineurs").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
    Application.CutCopyMode = False
'Selectionne la table, place un filtre, selectionne les élements et les cooles dans la feuille cible
    Sheets("Gestionnaire4").Select
    ActiveSheet.Unprotect
    Rows("13:13").Select
    Selection.AutoFilter
    ActiveWindow.ScrollColumn = 52
    ActiveWindow.ScrollColumn = 1
    Range("B13").Select
    Selection.AutoFilter Field:=2, Criteria1:="<>"
    Range("A14:M4400").Select
    Application.CutCopyMode = False
    Selection.Copy
       Sheets("Suivi des Mineurs").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
    Application.CutCopyMode = False
'Selectionne la table, place un filtre, selectionne les élements et les cooles dans la feuille cible
    Sheets("Gestionnaire5").Select
    ActiveSheet.Unprotect
    Rows("13:13").Select
    Selection.AutoFilter
    ActiveWindow.ScrollColumn = 52
    ActiveWindow.ScrollColumn = 1
    Range("B13").Select
    Selection.AutoFilter Field:=2, Criteria1:="<>"
    Range("A14:M4400").Select
    Application.CutCopyMode = False
    Selection.Copy
       Sheets("Suivi des Mineurs").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
    Application.CutCopyMode = False
'Eleve tous les filtres
      Sheets("Gestionnaire1").Activate
    Range("B35").Select
    Sheets("Gestionnaire1").Select
    Rows("13:13").Select
    Selection.AutoFilter
    Sheets("Gestionnaire2").Select
    Range("C13").Select
    Selection.AutoFilter
    ActiveWindow.SmallScroll Down:=-18
    Sheets("Gestionnaire3").Select
    Range("D13").Select
    Selection.AutoFilter
    Sheets("Gestionnaire4").Select
    Range("C13").Select
    Selection.AutoFilter
    Sheets("Gestionnaire5").Select
    Range("C13").Select
    Selection.AutoFilter
    Sheets("Suivi des Mineurs").Select
    Sheets(Array("Gestionnaire1", "Gestionnaire2", "Gestionnaire3", "Gestionnaire4", _
        "Gestionnaire5")).Select
    Sheets("Gestionnaire1").Activate
    ActiveWindow.SmallScroll Down:=-15
    Range("A14:H4400").Select
    Selection.ClearContents
    Range("A13").Select
    Sheets("Suivi des Mineurs").Select
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
    False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
    :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
    AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
    AllowUsingPivotTables:=True
    Sheets("Gestionnaire1").Select
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
    False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
    :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
    AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
    AllowUsingPivotTables:=True
        Sheets("Gestionnaire2").Select
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
    False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
    :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
    AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
    AllowUsingPivotTables:=True
        Sheets("Gestionnaire3").Select
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
    False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
    :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
    AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
    AllowUsingPivotTables:=True
        Sheets("Gestionnaire4").Select
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
    False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
    :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
    AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
    AllowUsingPivotTables:=True
        Sheets("Gestionnaire5").Select
    ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
    False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
    :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
    AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
    AllowUsingPivotTables:=True
    Sheets("Suivi des Mineurs").Select
    ActiveWindow.SmallScroll Down:=0
    Range("A13").Select
       MsgBox "Les fichiers de suivi ont été fusionnés dans Suivi des Mineurs"
 
Re : Partager tableau sans que chacun puisse ecraser les donnés

Bonjour Jpmasclet, Mutzik

A priori lors de l'enregistrement sous, tu code comme ci dessous :

Code:
ActiveWorkbook.SaveAs "classeur1", , , , , , MultiUserEditing

A tester, sans garantie du gouvernement....

bon après midi
@+
 
- 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
Retour