IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Indication Modification de données en réseau non partagé [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Bonjour,

    J'aimerais savoir s'il était possible de savoir lors de mon absence, si mon fichier de données a été modifié par mes collégues.
    Tout en sachant que ce fichier est modifiable par deux collègues, qu'il est sur réseau mais pas en partage.

    Le top serait que j'obtienne un rapport me disant que tel utilisateur (username de connexion au réseau) a modifié telle feuille, telle cellule, tel jour à telle heure. Avant dans telle cellule, il y avait tel renseignements (ex: 25/04/2011) dans la cellule et désormais il y a çà (28/04/2013).

    Cordialement.
    Graphikris

    Je reviens sur mon post.

    Je suis sur XL 2003, j'ai essayé le partage sur le réseau qui aurait pû me permettre de voir les modifs faites par mes collègues mais çà n'a pas l'ai de fonctionner.

    Cordialement

  2. #2
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Etant sans reponse, je relance le débat, je pensais que j'aurais eu une reponse en 2 coup de cuillère à pot mais j'ai sous estimé ma question.

    Est ce impossible à réaliser ?

  3. #3
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Aucune reponse a ce jour.
    Je suppose que c'est impossible a réaliser avec Excel

  4. #4
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    bonsoir,
    avec une macro tu peux intercepter tout changement sur la feuille avec l'évènement Worksheet_Change.

  5. #5
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Bjr et merci pour l'info mais on met quoi comme code ?

  6. #6
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    bonsoir,

    tu dois pouvoir gérer ça au niveau évènement classeur. ThisWorkbook
    3 ou quatre procédures évènementielles. en tête de module, quelques déclarations visibles pour toutes les procédures.

    Je te donnes les grandes lignes

    Il te faudra sans doute une feuille supplémentaire masquée nommée rapport nom de code identique.
    sur la feuille rapport, en première ligne créer les étiquettes de colonne:
    Utilisateur Début séance Fin séance Objet Avant changement Après changement
    une colonne vide intercalée entre les deux dernières étiquettes.

    Note les codes ci-dessous ne sont pas testés. Il te faudra mettre peut-^tre placer un point d'arrêt physique dans la première ligne d'instruction de chaque procédure avec l'instruction Stop pour déboguer pas à pas avec F8.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    Dim activ_cel As String, est_changer As Boolean, quand As String, new_file As String
     
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Dim l As Long
     
        With Rapport
            l = .Range("a2").End(xlDown).Row
            .Rows(l).Insert ' insère une ligne de séparation entre les séances utilisateur
            .Cells(2, 3) = Now
        End With
    End Sub
     
    Private Sub Workbook_Open()
     
        With Rapport
            .Rows(2).Insert
            .Cells(2, 1) = Application.UserName
            .Cells(2, 2) = Now
            .Rows(3).Insert
        End With
    End Sub
     
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
     
    End Sub
     
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
     
     
    End Sub
     
    'ici on pourra traiter l'évènement en analysant un peu l'objet qui a été changé.
    'l'idée c'est que si l'objet n'atteint pas un certain nombre de cellules,
    'on l'enregistre sur la ligne correspondante, sinon on crée un fichier pour l'enregistrer. Dans le cas ou c'est une cellule, tout simplement 
     
    Private Sub Statuts(cible As Range, colonne As Integer)
        Dim cl As Range, r As Range
        Dim rf As Long, rc As Long, i As Long, n As Long
        Dim vide As Boolean, e As Boolean, f As String, d As String, T
     
    End Sub
     
     
    'ben c'est pas aussi simple que je le croyais! pas le temps de tester...
    faute de temps pour traiter vraiment le tout à ta place , tu m'informeras des problèmes que tu rencontres.
    bonne soirée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion non visible dans centre réseau et partage
    Par SylvainRG dans le forum Administration
    Réponses: 6
    Dernier message: 30/03/2015, 02h30
  2. Réponses: 0
    Dernier message: 01/01/2014, 11h20
  3. Réponses: 2
    Dernier message: 05/06/2012, 00h31
  4. Internet, passerelle, réseau et partage de données
    Par Thrystan dans le forum Debian
    Réponses: 1
    Dernier message: 25/05/2010, 16h16
  5. Accès refusé car données non partagées
    Par ploukinet dans le forum Windows XP
    Réponses: 2
    Dernier message: 01/02/2009, 22h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo