Récupération du nom utilisateur et des cellules modifiées.
10 réponses
Alex
Bonjour =E0 tous,
Je voudrais depuis un userform, qu'=E0 chaque modification d'une fiche
via le Userform apres validation du bouton OK, que s'incrive dans la
derni=E8re colonne de mon tableau, le nom utilisateur que l'on trouve
dans Outils/Options Onglet G=E9n=E9ral Nom Utilisateur ainsi que le nom de
la zone du textbox qui a fait l'objet de la modification afin
d'assurer un meilleur suivi des saisies.
Quelqu'un aurait il la solution =E0 ces deux probl=E8mes.
Je vous remercie par avance de votre aide.
Bien cordialement.
Alex
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour Alex,
Nom_utilisateur = Application.UserName
pour les textbox, tu peut utiliser l'événement change pour récupérer le nom du textbox soit dans un tabeau ou une variable public,
Public tb1 As String Private Sub TextBox1_Change() tb1 = TextBox1.Name End Sub
isabelle
Le 2011-02-07 05:50, Alex a écrit :
Bonjour à tous,
Je voudrais depuis un userform, qu'à chaque modification d'une fiche via le Userform apres validation du bouton OK, que s'incrive dans la dernière colonne de mon tableau, le nom utilisateur que l'on trouve dans Outils/Options Onglet Général Nom Utilisateur ainsi que le nom de la zone du textbox qui a fait l'objet de la modification afin d'assurer un meilleur suivi des saisies. Quelqu'un aurait il la solution à ces deux problèmes. Je vous remercie par avance de votre aide. Bien cordialement. Alex
bonjour Alex,
Nom_utilisateur = Application.UserName
pour les textbox, tu peut utiliser l'événement change pour récupérer
le nom du textbox soit dans un tabeau ou une variable public,
Public tb1 As String
Private Sub TextBox1_Change()
tb1 = TextBox1.Name
End Sub
isabelle
Le 2011-02-07 05:50, Alex a écrit :
Bonjour à tous,
Je voudrais depuis un userform, qu'à chaque modification d'une fiche
via le Userform apres validation du bouton OK, que s'incrive dans la
dernière colonne de mon tableau, le nom utilisateur que l'on trouve
dans Outils/Options Onglet Général Nom Utilisateur ainsi que le nom de
la zone du textbox qui a fait l'objet de la modification afin
d'assurer un meilleur suivi des saisies.
Quelqu'un aurait il la solution à ces deux problèmes.
Je vous remercie par avance de votre aide.
Bien cordialement.
Alex
pour les textbox, tu peut utiliser l'événement change pour récupérer le nom du textbox soit dans un tabeau ou une variable public,
Public tb1 As String Private Sub TextBox1_Change() tb1 = TextBox1.Name End Sub
isabelle
Le 2011-02-07 05:50, Alex a écrit :
Bonjour à tous,
Je voudrais depuis un userform, qu'à chaque modification d'une fiche via le Userform apres validation du bouton OK, que s'incrive dans la dernière colonne de mon tableau, le nom utilisateur que l'on trouve dans Outils/Options Onglet Général Nom Utilisateur ainsi que le nom de la zone du textbox qui a fait l'objet de la modification afin d'assurer un meilleur suivi des saisies. Quelqu'un aurait il la solution à ces deux problèmes. Je vous remercie par avance de votre aide. Bien cordialement. Alex
michdenis
Bonjour,
Pour récupérer le nom de l'utilisateur :
Range("A1") = Environ("UserName")
Si tu veux assurer un suivi sur des nouveaux enregistrements et des nouvelles modifications que l'on fait à l'aide d'un bouton OK sur un formulaire, pourquoi ne pas enregistrer dans un fichier CSV toutes les données du formulaire. Si tu veux à un moment donné effectuer certaines vérifications, tu peux ouvrir ton fichier CSV dans un classeur et en utilisant un filtre retrouver toutes les modifications faites sur un enregistrement particulier.
À chaque fois que l'usager clique sur le bouton "OK", la date courante, le nom de l'usager et toutes les données des textbox (ce pourrait être aussi la valeur des autres contrôles aussi si nécessaire) sont inscrits dans un fichier CSV. Tu n'as qu'à appeler la procédure... et définir les variables de cette procédure selon ton environnement de travail.
'------------------------------------------- Sub Suivi_Fichier_Texte_CSV()
Dim Chemin As String, Fichier As String Dim Texte As String Dim X As Long, C As Control
'********Variables à définir******** Chemin = "c:" Fichier = "Suivi_MonFichier.csv" '***********************************
X = FreeFile Texte = Now() & ";" & Environ("Username") For Each C In Me.Controls If TypeName(C) = "TextBox" Then Texte = Texte & ";" & C.Text End If Next Open Chemin & Fichier For Append As #X Print #X, Texte Close #X End Sub '-------------------------------------------
MichD -------------------------------------------- "Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Je voudrais depuis un userform, qu'à chaque modification d'une fiche via le Userform apres validation du bouton OK, que s'incrive dans la dernière colonne de mon tableau, le nom utilisateur que l'on trouve dans Outils/Options Onglet Général Nom Utilisateur ainsi que le nom de la zone du textbox qui a fait l'objet de la modification afin d'assurer un meilleur suivi des saisies. Quelqu'un aurait il la solution à ces deux problèmes. Je vous remercie par avance de votre aide. Bien cordialement. Alex
Bonjour,
Pour récupérer le nom de l'utilisateur :
Range("A1") = Environ("UserName")
Si tu veux assurer un suivi sur des nouveaux enregistrements
et des nouvelles modifications que l'on fait à l'aide d'un bouton OK
sur un formulaire, pourquoi ne pas enregistrer dans un fichier CSV
toutes les données du formulaire. Si tu veux à un moment donné
effectuer certaines vérifications, tu peux ouvrir ton fichier CSV dans
un classeur et en utilisant un filtre retrouver toutes les modifications
faites sur un enregistrement particulier.
À chaque fois que l'usager clique sur le bouton "OK", la date courante,
le nom de l'usager et toutes les données des textbox (ce pourrait être
aussi la valeur des autres contrôles aussi si nécessaire) sont inscrits dans
un fichier CSV. Tu n'as qu'à appeler la procédure... et définir les variables
de cette procédure selon ton environnement de travail.
'-------------------------------------------
Sub Suivi_Fichier_Texte_CSV()
Dim Chemin As String, Fichier As String
Dim Texte As String
Dim X As Long, C As Control
'********Variables à définir********
Chemin = "c:"
Fichier = "Suivi_MonFichier.csv"
'***********************************
X = FreeFile
Texte = Now() & ";" & Environ("Username")
For Each C In Me.Controls
If TypeName(C) = "TextBox" Then
Texte = Texte & ";" & C.Text
End If
Next
Open Chemin & Fichier For Append As #X
Print #X, Texte
Close #X
End Sub
'-------------------------------------------
MichD
--------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :
0de9a631-8b3e-4129-97af-1c3f38080694@s29g2000pra.googlegroups.com...
Bonjour à tous,
Je voudrais depuis un userform, qu'à chaque modification d'une fiche
via le Userform apres validation du bouton OK, que s'incrive dans la
dernière colonne de mon tableau, le nom utilisateur que l'on trouve
dans Outils/Options Onglet Général Nom Utilisateur ainsi que le nom de
la zone du textbox qui a fait l'objet de la modification afin
d'assurer un meilleur suivi des saisies.
Quelqu'un aurait il la solution à ces deux problèmes.
Je vous remercie par avance de votre aide.
Bien cordialement.
Alex
Si tu veux assurer un suivi sur des nouveaux enregistrements et des nouvelles modifications que l'on fait à l'aide d'un bouton OK sur un formulaire, pourquoi ne pas enregistrer dans un fichier CSV toutes les données du formulaire. Si tu veux à un moment donné effectuer certaines vérifications, tu peux ouvrir ton fichier CSV dans un classeur et en utilisant un filtre retrouver toutes les modifications faites sur un enregistrement particulier.
À chaque fois que l'usager clique sur le bouton "OK", la date courante, le nom de l'usager et toutes les données des textbox (ce pourrait être aussi la valeur des autres contrôles aussi si nécessaire) sont inscrits dans un fichier CSV. Tu n'as qu'à appeler la procédure... et définir les variables de cette procédure selon ton environnement de travail.
'------------------------------------------- Sub Suivi_Fichier_Texte_CSV()
Dim Chemin As String, Fichier As String Dim Texte As String Dim X As Long, C As Control
'********Variables à définir******** Chemin = "c:" Fichier = "Suivi_MonFichier.csv" '***********************************
X = FreeFile Texte = Now() & ";" & Environ("Username") For Each C In Me.Controls If TypeName(C) = "TextBox" Then Texte = Texte & ";" & C.Text End If Next Open Chemin & Fichier For Append As #X Print #X, Texte Close #X End Sub '-------------------------------------------
MichD -------------------------------------------- "Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
Je voudrais depuis un userform, qu'à chaque modification d'une fiche via le Userform apres validation du bouton OK, que s'incrive dans la dernière colonne de mon tableau, le nom utilisateur que l'on trouve dans Outils/Options Onglet Général Nom Utilisateur ainsi que le nom de la zone du textbox qui a fait l'objet de la modification afin d'assurer un meilleur suivi des saisies. Quelqu'un aurait il la solution à ces deux problèmes. Je vous remercie par avance de votre aide. Bien cordialement. Alex
LSteph
Bonjour,
Application.username renvoie le nom de l'utilisateur tel que défini dans office (...le cas échéant)
Environ("UserName") renvoie le login de l'utilisateur ayant ouvert sa session sur le poste.
Cordialement.
-- LSteph
Alex a écrit :
Bonjour à tous,
Je voudrais depuis un userform, qu'à chaque modification d'une fiche via le Userform apres validation du bouton OK, que s'incrive dans la dernière colonne de mon tableau, le nom utilisateur que l'on trouve dans Outils/Options Onglet Général Nom Utilisateur ainsi que le nom d e la zone du textbox qui a fait l'objet de la modification afin d'assurer un meilleur suivi des saisies. Quelqu'un aurait il la solution à ces deux problèmes. Je vous remercie par avance de votre aide. Bien cordialement. Alex
Bonjour,
Application.username renvoie le nom de l'utilisateur tel que défini
dans office (...le cas échéant)
Environ("UserName") renvoie le login de l'utilisateur ayant ouvert sa
session sur le poste.
Cordialement.
--
LSteph
Alex a écrit :
Bonjour à tous,
Je voudrais depuis un userform, qu'à chaque modification d'une fiche
via le Userform apres validation du bouton OK, que s'incrive dans la
dernière colonne de mon tableau, le nom utilisateur que l'on trouve
dans Outils/Options Onglet Général Nom Utilisateur ainsi que le nom d e
la zone du textbox qui a fait l'objet de la modification afin
d'assurer un meilleur suivi des saisies.
Quelqu'un aurait il la solution à ces deux problèmes.
Je vous remercie par avance de votre aide.
Bien cordialement.
Alex
Application.username renvoie le nom de l'utilisateur tel que défini dans office (...le cas échéant)
Environ("UserName") renvoie le login de l'utilisateur ayant ouvert sa session sur le poste.
Cordialement.
-- LSteph
Alex a écrit :
Bonjour à tous,
Je voudrais depuis un userform, qu'à chaque modification d'une fiche via le Userform apres validation du bouton OK, que s'incrive dans la dernière colonne de mon tableau, le nom utilisateur que l'on trouve dans Outils/Options Onglet Général Nom Utilisateur ainsi que le nom d e la zone du textbox qui a fait l'objet de la modification afin d'assurer un meilleur suivi des saisies. Quelqu'un aurait il la solution à ces deux problèmes. Je vous remercie par avance de votre aide. Bien cordialement. Alex
Alex
Bonjour,
Merci à tous pour vos réponses. Je vais tester cela. Je ne pense pas que j'utiliserai un fichier csv car j'aimerai que mes données de pistage reste sur le tableau, et m'evitant ainsi de consulter deux listes si j'ai bien compris l'explication de Michel. De plus, je ne sais pas ce qu'est un fichier csv, s'agit t il un classeur Excel simplié ?
Dans un textbox_change puis écrire ceci : (désirant ne faire ces controles que sur des données bien particulieres, et désirant conserver les données déja existante dans ma cellule "traseuse")
Merci par avance de votre aide. Bien cordialement Alex
Bonjour,
Merci à tous pour vos réponses. Je vais tester cela.
Je ne pense pas que j'utiliserai un fichier csv car j'aimerai que mes
données de pistage reste sur le tableau, et m'evitant ainsi de
consulter deux listes si j'ai bien compris l'explication de Michel. De
plus, je ne sais pas ce qu'est un fichier csv, s'agit t il un classeur
Excel simplié ?
Dans un textbox_change puis écrire ceci : (désirant ne faire ces
controles que sur des données bien particulieres, et désirant
conserver les données déja existante dans ma cellule "traseuse")
Merci à tous pour vos réponses. Je vais tester cela. Je ne pense pas que j'utiliserai un fichier csv car j'aimerai que mes données de pistage reste sur le tableau, et m'evitant ainsi de consulter deux listes si j'ai bien compris l'explication de Michel. De plus, je ne sais pas ce qu'est un fichier csv, s'agit t il un classeur Excel simplié ?
Dans un textbox_change puis écrire ceci : (désirant ne faire ces controles que sur des données bien particulieres, et désirant conserver les données déja existante dans ma cellule "traseuse")
Merci par avance de votre aide. Bien cordialement Alex
isabelle
bonjour Alex,
il faut utiliser un module de classe pour définir le groupe textbox, voici un exemple : http://cjoint.com/?2chvFfiRCUt
isabelle
Le 2011-02-07 12:24, Alex a écrit :
Bonjour,
Merci à tous pour vos réponses. Je vais tester cela. Je ne pense pas que j'utiliserai un fichier csv car j'aimerai que mes données de pistage reste sur le tableau, et m'evitant ainsi de consulter deux listes si j'ai bien compris l'explication de Michel. De plus, je ne sais pas ce qu'est un fichier csv, s'agit t il un classeur Excel simplié ?
Dans un textbox_change puis écrire ceci : (désirant ne faire ces controles que sur des données bien particulieres, et désirant conserver les données déja existante dans ma cellule "traseuse")
Merci par avance de votre aide. Bien cordialement Alex
bonjour Alex,
il faut utiliser un module de classe pour définir le groupe textbox,
voici un exemple : http://cjoint.com/?2chvFfiRCUt
isabelle
Le 2011-02-07 12:24, Alex a écrit :
Bonjour,
Merci à tous pour vos réponses. Je vais tester cela.
Je ne pense pas que j'utiliserai un fichier csv car j'aimerai que mes
données de pistage reste sur le tableau, et m'evitant ainsi de
consulter deux listes si j'ai bien compris l'explication de Michel. De
plus, je ne sais pas ce qu'est un fichier csv, s'agit t il un classeur
Excel simplié ?
Dans un textbox_change puis écrire ceci : (désirant ne faire ces
controles que sur des données bien particulieres, et désirant
conserver les données déja existante dans ma cellule "traseuse")
il faut utiliser un module de classe pour définir le groupe textbox, voici un exemple : http://cjoint.com/?2chvFfiRCUt
isabelle
Le 2011-02-07 12:24, Alex a écrit :
Bonjour,
Merci à tous pour vos réponses. Je vais tester cela. Je ne pense pas que j'utiliserai un fichier csv car j'aimerai que mes données de pistage reste sur le tableau, et m'evitant ainsi de consulter deux listes si j'ai bien compris l'explication de Michel. De plus, je ne sais pas ce qu'est un fichier csv, s'agit t il un classeur Excel simplié ?
Dans un textbox_change puis écrire ceci : (désirant ne faire ces controles que sur des données bien particulieres, et désirant conserver les données déja existante dans ma cellule "traseuse")
Merci par avance de votre aide. Bien cordialement Alex
Alex
Merci pour ta réponse Isabelle Faut que je teste, car je n'ai jamais utiliser de module class auparavent. Mais quelques questions :
Si j'ai bien compris, le modile class permet et identifie toutes mes texbox, je n'ai pas besoin de les nommer une à une ? il prend le nom texbox en "générique" meme si elle se nomme differement de texbox1 ?
Comment puis le faire la boucle que sur les textbox souhaites et non pas tous?
Merci encore de ton aide Alex
Merci pour ta réponse Isabelle
Faut que je teste, car je n'ai jamais utiliser de module class
auparavent.
Mais quelques questions :
Si j'ai bien compris, le modile class permet et identifie toutes mes
texbox, je n'ai pas besoin de les nommer une à une ? il prend le nom
texbox en "générique" meme si elle se nomme differement de texbox1 ?
Comment puis le faire la boucle que sur les textbox souhaites et non
pas tous?
Merci pour ta réponse Isabelle Faut que je teste, car je n'ai jamais utiliser de module class auparavent. Mais quelques questions :
Si j'ai bien compris, le modile class permet et identifie toutes mes texbox, je n'ai pas besoin de les nommer une à une ? il prend le nom texbox en "générique" meme si elle se nomme differement de texbox1 ?
Comment puis le faire la boucle que sur les textbox souhaites et non pas tous?
Merci encore de ton aide Alex
isabelle
bonjour Alex,
Le 2011-02-07 16:02, Alex a écrit :
Si j'ai bien compris, le modile class permet et identifie toutes mes texbox, je n'ai pas besoin de les nommer une à une ? il prend le nom texbox en "générique" meme si elle se nomme differement de texbox1 ?
oui, c'est bien ça, le nom qu'ils ont n'a pas d'importance à ce niveau
Comment puis le faire la boucle que sur les textbox souhaites et non pas tous?
tout dépendant de leurs noms tu peut ajouter une condition pour les identifier, quel sont leurs nom ?
isabelle
bonjour Alex,
Le 2011-02-07 16:02, Alex a écrit :
Si j'ai bien compris, le modile class permet et identifie toutes mes
texbox, je n'ai pas besoin de les nommer une à une ? il prend le nom
texbox en "générique" meme si elle se nomme differement de texbox1 ?
oui, c'est bien ça, le nom qu'ils ont n'a pas d'importance à ce niveau
Comment puis le faire la boucle que sur les textbox souhaites et non
pas tous?
tout dépendant de leurs noms tu peut ajouter une condition pour les
identifier, quel sont leurs nom ?
Si j'ai bien compris, le modile class permet et identifie toutes mes texbox, je n'ai pas besoin de les nommer une à une ? il prend le nom texbox en "générique" meme si elle se nomme differement de texbox1 ?
oui, c'est bien ça, le nom qu'ils ont n'a pas d'importance à ce niveau
Comment puis le faire la boucle que sur les textbox souhaites et non pas tous?
tout dépendant de leurs noms tu peut ajouter une condition pour les identifier, quel sont leurs nom ?
isabelle
michdenis
Pour faire une boucle sur tous les textbox de ton formulaire,
suppose que tu as 5 textbox dont les noms sont : Textbox1, Textbox2...Textbox5
Pour copier la valeur de tes 5 textbox dans la feuille "Feui1" dans la colonne de A à E
Dim DerLig As Long Application.EnableEvents = False With Worksheets("Feuil1") DerLig = .Range("A65536").end(xlup).row + For a = 1 to 5 .Cells(Derlig , a) = (Me.Controls("TextBox" & a) Next End With Application.EnableEvents = True
Pour faire une boucle sur tous les textbox de ton formulaire,
suppose que tu as 5 textbox dont les noms sont : Textbox1, Textbox2...Textbox5
Pour copier la valeur de tes 5 textbox dans la feuille "Feui1" dans la colonne de A à E
Dim DerLig As Long
Application.EnableEvents = False
With Worksheets("Feuil1")
DerLig = .Range("A65536").end(xlup).row +
For a = 1 to 5
.Cells(Derlig , a) = (Me.Controls("TextBox" & a)
Next
End With
Application.EnableEvents = True
Pour faire une boucle sur tous les textbox de ton formulaire,
suppose que tu as 5 textbox dont les noms sont : Textbox1, Textbox2...Textbox5
Pour copier la valeur de tes 5 textbox dans la feuille "Feui1" dans la colonne de A à E
Dim DerLig As Long Application.EnableEvents = False With Worksheets("Feuil1") DerLig = .Range("A65536").end(xlup).row + For a = 1 to 5 .Cells(Derlig , a) = (Me.Controls("TextBox" & a) Next End With Application.EnableEvents = True
Merci Michel pour cette boucle. Je n'ai pas eu encore le temps de la tester, mais à la lecture de celle-ci, les données se postionneraient sur une feuille supplementaire, alors que je voulais l'ajouter sur la ligne modifiée en derniere colonne de mon tableau . Dois je mettre ta proposition dans un module class comme me la suggeré isabelle ? Si j'ai bien compris ta solution me permets de choisir les textbox que je veux controler ? Et enfin, je peux aussi l'utiliser pour des combobox cette boucle ? j'ai juste a modifier textbox par combox ? Merci par avance de vos reponses. Alex
Bonjour,
Merci Michel pour cette boucle.
Je n'ai pas eu encore le temps de la tester, mais à la lecture de
celle-ci, les données se postionneraient sur une feuille
supplementaire, alors que je voulais l'ajouter sur la ligne modifiée
en derniere colonne de mon tableau .
Dois je mettre ta proposition dans un module class comme me la suggeré
isabelle ?
Si j'ai bien compris ta solution me permets de choisir les textbox que
je veux controler ?
Et enfin, je peux aussi l'utiliser pour des combobox cette boucle ?
j'ai juste a modifier textbox par combox ?
Merci par avance de vos reponses.
Alex
Merci Michel pour cette boucle. Je n'ai pas eu encore le temps de la tester, mais à la lecture de celle-ci, les données se postionneraient sur une feuille supplementaire, alors que je voulais l'ajouter sur la ligne modifiée en derniere colonne de mon tableau . Dois je mettre ta proposition dans un module class comme me la suggeré isabelle ? Si j'ai bien compris ta solution me permets de choisir les textbox que je veux controler ? Et enfin, je peux aussi l'utiliser pour des combobox cette boucle ? j'ai juste a modifier textbox par combox ? Merci par avance de vos reponses. Alex
michdenis
| les données se postionneraient sur une feuille | supplementaire, alors que je voulais l'ajouter | sur la ligne modifiée en derniere colonne de mon tableau .
**** Si tu as 5 Textbox, toutes les valeurs doivent se retrouver sur la même ligne dans la même cellule ????
**** Si tu as une deuxième, troisième modification à effectuer, où veux-tu écrire les données de ta sauvegarde ???
Ma solution n'a pas besoin de module de classe. Tu peux l'écrire directement dans le module du formulaire. Si tu écris le code dans un module standard, tu dois utiliser le nom du formulaire et non le mot "Me" dans le code exemple.
Ce n'était qu'un exemple, il ne faut surtout pas copier bêtement cela dans ton programme et penser que tout sera OK.
| les données se postionneraient sur une feuille
| supplementaire, alors que je voulais l'ajouter
| sur la ligne modifiée en derniere colonne de mon tableau .
**** Si tu as 5 Textbox, toutes les valeurs doivent se retrouver
sur la même ligne dans la même cellule ????
**** Si tu as une deuxième, troisième modification à effectuer, où
veux-tu écrire les données de ta sauvegarde ???
Ma solution n'a pas besoin de module de classe. Tu peux l'écrire
directement dans le module du formulaire. Si tu écris le code dans
un module standard, tu dois utiliser le nom du formulaire et non
le mot "Me" dans le code exemple.
Ce n'était qu'un exemple, il ne faut surtout pas copier bêtement cela
dans ton programme et penser que tout sera OK.
| les données se postionneraient sur une feuille | supplementaire, alors que je voulais l'ajouter | sur la ligne modifiée en derniere colonne de mon tableau .
**** Si tu as 5 Textbox, toutes les valeurs doivent se retrouver sur la même ligne dans la même cellule ????
**** Si tu as une deuxième, troisième modification à effectuer, où veux-tu écrire les données de ta sauvegarde ???
Ma solution n'a pas besoin de module de classe. Tu peux l'écrire directement dans le module du formulaire. Si tu écris le code dans un module standard, tu dois utiliser le nom du formulaire et non le mot "Me" dans le code exemple.
Ce n'était qu'un exemple, il ne faut surtout pas copier bêtement cela dans ton programme et penser que tout sera OK.