Afficher nom utilisateur suivant feuille modifié

Bonjour à toute la communauté (que je regarde régulièrement pour trouver des solutions, mais très jeune inscrit).

Je débute quasi totalement dans la programmation, j'essai de comprendre via vos tutos ainsi que d'autre trouvé sur le net des codes déjà proposés par des personnes confirmées dans le milieu.

Mon problème est le suivant:

J'ai un fichier qui est commun sur un réseau. Je souhaite afficher le nom du dernier qui à modifier la feuille.... mais suivant la feuille modifier.

Le code que j'ai trouvé actuellement permet d'afficher le nom d'utilisateur lors du clic sur l'icone enregistrement (et lors de la fermeture il faut quand même confirmer l'enregistrement). Sauf que le code change le nom quelque soit la feuille modifiée.

Ce que j'aimerai faire, c'est si l'utilisateur "A" modifie la feuille "2", alors "A" sera affiché dans une cellule de la feuille 2, mais les autres reste inchangée. etc pour chaques feuilles.

Etant débutant total dans la programmation VBA, je n'arrive pas à trouvé la subtilité pour reproduire le code individuellement pour chaque feuille afin que ce soit vraiment propre à chaque feuille l'affichage du nom du dernier utilisateur ayant modifier une feuille.

Pouvez-vous m'expliquer dans un premier temps, les lignes du codes que j'ai déja rentré, et si vous avez une solution a mon problème, je suis preneur.

En vous remerciant

Bol De Riz

Ci-joint mon fichier test contenant déja mon code

28suivis-test.xlsm (105.74 Ko)

Bonjour,

pour rester sur ta demande, dans ThisWorkbook (supprimer ton code) :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    With Sh
        Application.EnableEvents = False
        .[C1] = Date
        .[C3] = Application.UserName
        Application.EnableEvents = True
    End With
End Sub

eric

Bonjour,

Pour "Oups"

Bonjour,

Je pense que vous pouvez jeter un oeil ici : https://www.excel-pratique.com/fr/telechargements/utilitaires/journal-modifications-excel-no486

Je viens d'essayer ce fichier, franchement top! je vais essayer de comprendre les lignes pour l'adapter à mes besoins, mais la fonctionnalité et top! Merci!

Pour "Eriiic"

Bonjour,

pour rester sur ta demande, dans ThisWorkbook (supprimer ton code) :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

With Sh

Application.EnableEvents = False

.[C1] = Date

.[C3] = Application.UserName

Application.EnableEvents = True

End With

End Sub

eric

Je vais essayer aussi ces lignes quand j'aurai un peu de temps pour voir ce que ça donne, merci d'avoir pris le temps de répondre aussi.

Pour une question générale, en fait on ne rentre des lignes de codes que dans "ThisWorbook", rentrer des lignes de codes dans les feuilles directement, quel en serait l'utilité?

Respectueusement

BDR

Lorsque le traitement est identique sur plusieurs feuilles, on se met dans ThisWorkbook pour n'avoir qu'un seul code à modifier.
On connait la feuille ayant eu l'événement avec le paramètre sh qui est passé.
Si le traitement est propre à la feuille on reste dans son module.

Lorsque le traitement est identique sur plusieurs feuilles, on se met dans ThisWorkbook pour n'avoir qu'un seul code à modifier.

On connait la feuille ayant eu l'événement avec le paramètre sh qui est passé.

Si le traitement est propre à la feuille on reste dans son module.

Merci pour ta réponse!

Bon, j'essai de bidouiller le fichier Enregistrement des modifications; en rajoutant une colonne afin d'avoir les informations suivantes:

- Au lieu d'avoir l'adresse de la cellule, je souhaiterai dans une des colonne du tableau de suivi afficher la première colonne (qui correspondrai à un nom) et dans la colonne suivante la première ligne (qui correspondrai à une catégorie).

Quelqu'un pourrai m'expliquer quelle fonction utiliser, et le pourquoi du comment?

(Je suis désolé, mais j'apprend en bidouillant, donc pour l'instant les fonctions utilisées sont encore flou pour moi....)

En vous remerciant pour l'aide précieuse que vous apporté tous

(le fichier joint est une modification de l'original avec les modifications recherchées)

Bonjour,

Remplacer :

.Cells(i, 3) = feuille.Cells(1, cible.Column).Formula ' cible.Cells(1, 1).Offset(lig - 1, col - 1)
.Cells(i, 4) = feuille.Cells(cible.Row, 1).Formula ' cible.Cells(1, 1).Offset(lig - 1, premierecol - 1)

eric

Bonjour Eriiic, merci une énième fois pour ton aide, ça fonctionne nickel! je vais continuer de bidouiller pour trouver comment changer la colonne et ligne de référence!

J'espère obtenir le même niveau que vous un jour!

Respectueusement

BDR

Bonjour à tous,

Je fais un petit Up sur ce topic, car ça concerne le fichier dont j'ai eu besoin de faire cette macro.

Le problème est le suivant: après modification de 5 à 6 cellules, Excel plante.

Conditions d'emploi du fichier:

- il fait environ 480 Ko

- il est composé de 4 feuilles + 1 caché (le journal de suivi des modifications)

-Chaque feuille contient environ 120/130 lignes, pour environ 60 a 80 colonnes.

- il est en accès libre sur un réseau (je ne sais pas si ça a son importance, c'est un gros, gros, gros réseau) pour lecture et écriture

- sur mon ordinateur personnel (un ordinateur de gamer) le fichier fonctionne nickel

- sur mon ordinateur pro, en local, donc lancé à partir de l'ordinateur, pas trop de problème, sa rame, mais ne plante pas

- sur mon ordinateur pro, en réseau.....😵😵😵😵 au bout de 2/3 modifications...

je ne sais pas s'il y a suffisamment d'informations pour essayer d'éclaircir mon problème...

je ne peux malheureusement pas transférer le fichier à cause des informations personnelles qu'il contient...

en vous remerciant pour votre aide

respectueusement

BDR

Bonjour,

ça plante ne veut pas dire grand chose...
De toute façon c'est à voir avec ton administrateur de réseau.
eric

Bonsoir Eric,

Lorsque je dit ça plante, pour une description complète de l'événement, on voit Excel qui applique la macro, car il charge, et au bout de quelques secondes, le fichier "ne répond pas" et du coup un redémarrage est demandé.

Tu penses donc que cela peut venir du réseau?

Merci pour ta réponse en tout cas.

Respectueusement.

BDR

Rechercher des sujets similaires à "afficher nom utilisateur suivant feuille modifie"