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 :

Suivi des modifications


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut Suivi des modifications
    Bonjour,

    J'ai un classeur qui est partagé (=donc c'est vrai que je peux voir le suivi des modifications....), mais comme je ne veux pas devoir ouvrir à chaque fois le suivi des modifications, j'aimerais que ces modifications soient automatiquements mises dans un classeur. Je m'explique : parmis les personnes qui modifient, certaines modifications sont peu importantes et d'autres au contraire, très importantes et c'est pour ça que je veux "envoyer" mes modifications dans un autre classeur qui "m'avertiera" si un changement important est intervenu....

    Pour l'instant, j'ai essayé avec ce code :
    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
    Option Explicit
        'ouverture base des chemins
        ' field = numéro de la colonne
     
     
    'Définit l'emplacement et le nom du fichier .txt, ou va être enregistré les
    'informations d'ouverture et de fermeture.
     
     
     
     Private Const Chemin As String = "c:\essai\div.xls"
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim Cible As Integer
        'permet de sortir de la procédure si plus d'une cellule est sélectionnée
        '(sinon la suite de la macro renvoie un message d'erreur)
        If Target.Count > 1 Then Exit Sub
     
        MsgBox "Vous venez de modifier la cellule " & Target.Address & _
            " (" & Target.Value & ")"
     
           Open Chemin For Append As #Cible
     
             Print #Cible, Environ("UserName"), Target.Address
        Close #Cible
     
    End Sub
    Et ça ne fonctionne pas et je ne comprends pas pourquoi.....

    Merci,

    A+

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    l'instruction Open concerne des fichiers de type texte (.txt, par exemple).
    l'extension .xls correspond à des classeurs excel, structués par Excel. (à ne pas utiliser)

    EDIT : Tu as par ailleurs oublié d'ajouter ce qu'est cible...
    Correction à apporter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Cible As Integer
     Cible = FreeFile  '  <<<<<===== ici

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Merci ucfoutu,

    Le pire, c'est que je l'avais noté (car j'avais déjà utilisé ce type de code (=voir qui ouvre le classeur) et que j'ai simplement oublié de le mettre dans ce code..... merci donc de m'avoir corrigé

    Par contre, je ne comprends pas pourquoi le fichier .xls est à éviter (il fonctionne).

    Si tu pouvais aussi me dire comment récupérer des variables, (exemple nom du classeur...j'ai essayé workbook, mais ça ne marche pas...j'ai la date, en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Print#cible, environ("username"), date
    , mais il me faudrait le nom du classeur,.....
    Merci, A+

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    .....galère.....j'ai essayé différents type de solutions (par exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim n as name
    Set n=thisworkbooks.name
    et je ne trouve toujours pas....une idée ????

    Merci
    A+

  5. #5
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonsoir
    Regarde l'aide sur .name pour savoir quel type de variable elle renvoie

    Name n'est pas un type et print nécessite des chaine de caractère ou
    quelque chose qui peux etre transformer en chaine de caractère

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Merci Krovax,

    Mais j'ai déjà essayé et ça ne fonctionne pas, "erreur de compilation, objet requis".....

    j'ai essayé avec string, range, name, etc....
    Galère.....

    Merci
    A+

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

Discussions similaires

  1. suivi des modifications
    Par moicats dans le forum Excel
    Réponses: 7
    Dernier message: 21/08/2007, 13h48
  2. Suivi des modification dans Windows XP
    Par Chebil2006 dans le forum Windows XP
    Réponses: 1
    Dernier message: 15/05/2007, 11h25
  3. éditeur et suivi des modifs
    Par ska_root dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 17/01/2007, 11h04
  4. Réponses: 2
    Dernier message: 17/08/2006, 16h24

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