Une dernière remarque :
Afin que les usagers ne puissent pas modifier le nom de
la feuille "Commentaires", il serait bon que tu protèges
le classeur!
MichD
---------------------------------------------------------------
Une dernière remarque :
Afin que les usagers ne puissent pas modifier le nom de
la feuille "Commentaires", il serait bon que tu protèges
le classeur!
MichD
---------------------------------------------------------------
Une dernière remarque :
Afin que les usagers ne puissent pas modifier le nom de
la feuille "Commentaires", il serait bon que tu protèges
le classeur!
MichD
---------------------------------------------------------------
| Mais ou, je ne voius rien s'inscrire
La date de la modification est inscrite dans un "NOM" masqué
(insertion / nom / définir) ayant comme intitulé "LaDate"
Si tu avais pris le temps de copier la procédure que je t'ai
donné dans ton classeur de macros personnelles, tu n'aurais
eu qu'à appeler la procédure pour voir la valeur de "LaDate"
dans une boîte de message. Cela s'applique à tous les fichiers
ayant une feuille commentaire...
'------------------------------------------
Sub Date_Dernière_Modification_B2()
Dim X As Variant
On Error Resume Next
X = Evaluate("LaDate")
If IsError(X) Then
Err.Clear
Else
MsgBox Format(CDbl(Evaluate("LaDate")), "DD MMM YYYY H:MM:SS")
End If
End Sub
'------------------------------------------
| et aucune possibilité de faire du pas à pas dans la complémentair e
Le projetVBA du fichier de la macro complémentaire n'est pas protég é.
Tu mets des points d'arrêt sur chacune des procédures. Lorsqu'elles s ont
appelées, il s'agit d'utiliser la touche F8 pour le pas-à-pas. À la limite,
tu
cliques sur le ThisWorkbook du projetVBA de la macro complémentaire,
et dans les propriétés, tu mets la valeur "IsAddin" = False
Les feuilles du fichier de la macro complémentaire vont s'afficher comm e
n'importe quel classeur. Dans la feuil1 de ce fichier, tu peux suivre
l'évolution de ce qui est affiché. Lorsque tu as tout compris, tu rem ets
la propriété "isAddin" = True pour masquer les feuilles.
| dois je faire pour avoir la date en cellule A50 et le Nom en B50 de la
feuille 1
Si j'ai bien compris, en B50, tu veux avoir le nom de la première feuil le du
classeur??
Rien de plus facile, il s'agit de modifier légèrement le code du modu le de
classe
dans le fichier de la macro complémentaire.
L'information que tu veux en A50 et B50 de la première feuille s'inscri t au
moment
de la fermeture du classeur. C'est l'événement que j'ai choisi puisqu e
l'usager peut
modifier plusieurs fois la cellule B2 lors d'une même séance de trava il. Si
une
modification est apportée à la cellule B2, la date et l'heure inscrit e
seront celles au
moment où l'usager ferme le classeur.
Dans le module de classe, remplace cette procédure par celle-ci.
Le code ajouté est spécifié.
'------------------------------------------------------
Private Sub AppXl_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As
Boolean)
Dim NomClasseur As String, X As Variant
With ThisWorkbook ' (classeur de la macro complémentaire)
With .Worksheets("Feuil1")
'Extraire le nom du classeur
NomClasseur = Wb.Name
'Identifie la ligne où est contenu de nom du classeur
X = Application.Match(NomClasseur, .Range("A:A"), 0)
'teste si le nom du classeur a été trouvé
If IsNumeric(X) Then
'Vérifie si depuis l'ouverture du fichier la valeur
'de la cellue B2 a été modifié
If .Range("C" & X) <> .Range("B" & X) Then
'Si oui, on enregistre la date de fermeture du fichier
'en créant un nom (Name) LaDate , contenant la date +
l'heure
'***************Code ajouté*****************
With Wb.Worksheets(1)
.Range("A50").NumberFormat = "DD MMM YYYY H:MM:SS"
.Range("A50").Value = Now()
.Range("A50").Value = .Name
End With
'*******************************************
'Afin de s'assurer de conserver cette donnée, le fichie r
'est enregistré automatiquement.
Wb.Save
End If
End If
End With
End With
End Sub
'------------------------------------------------------
Tu es sûrement pressé par le temps, mais il faudra quand même que
tu prennes un peu de temps pour comprendre comme cela fonctionne.
IMPORTANT - IMPORTANT :
Lorsque tu fais une modification à un fichier de macros complémentair es,
tu dois le sauvegarder manuellement en utilisant la commande à cet
effet lorsque le fichier est le fichier actif dans la fenêtre VBA.
N'oublie pas cela est aussi vrai pour la modification que je t'ai demand é
de faire dans le message précédent. Si tu ne le fais pas toi-même, tu
n'auras pas de message d'Excel demandant si tu désires sauvegarder
les modifications faites.
Après avoir fait les 2 changements au code du fichier de la macro
complémentaire, enregistre-le et ferme totalement le classeur.
Dès l'ouverture, le fichier de la macro complémentaire sera en vigueu r.
MichD
---------------------------------------------------------------
| Mais ou, je ne voius rien s'inscrire
La date de la modification est inscrite dans un "NOM" masqué
(insertion / nom / définir) ayant comme intitulé "LaDate"
Si tu avais pris le temps de copier la procédure que je t'ai
donné dans ton classeur de macros personnelles, tu n'aurais
eu qu'à appeler la procédure pour voir la valeur de "LaDate"
dans une boîte de message. Cela s'applique à tous les fichiers
ayant une feuille commentaire...
'------------------------------------------
Sub Date_Dernière_Modification_B2()
Dim X As Variant
On Error Resume Next
X = Evaluate("LaDate")
If IsError(X) Then
Err.Clear
Else
MsgBox Format(CDbl(Evaluate("LaDate")), "DD MMM YYYY H:MM:SS")
End If
End Sub
'------------------------------------------
| et aucune possibilité de faire du pas à pas dans la complémentair e
Le projetVBA du fichier de la macro complémentaire n'est pas protég é.
Tu mets des points d'arrêt sur chacune des procédures. Lorsqu'elles s ont
appelées, il s'agit d'utiliser la touche F8 pour le pas-à-pas. À la limite,
tu
cliques sur le ThisWorkbook du projetVBA de la macro complémentaire,
et dans les propriétés, tu mets la valeur "IsAddin" = False
Les feuilles du fichier de la macro complémentaire vont s'afficher comm e
n'importe quel classeur. Dans la feuil1 de ce fichier, tu peux suivre
l'évolution de ce qui est affiché. Lorsque tu as tout compris, tu rem ets
la propriété "isAddin" = True pour masquer les feuilles.
| dois je faire pour avoir la date en cellule A50 et le Nom en B50 de la
feuille 1
Si j'ai bien compris, en B50, tu veux avoir le nom de la première feuil le du
classeur??
Rien de plus facile, il s'agit de modifier légèrement le code du modu le de
classe
dans le fichier de la macro complémentaire.
L'information que tu veux en A50 et B50 de la première feuille s'inscri t au
moment
de la fermeture du classeur. C'est l'événement que j'ai choisi puisqu e
l'usager peut
modifier plusieurs fois la cellule B2 lors d'une même séance de trava il. Si
une
modification est apportée à la cellule B2, la date et l'heure inscrit e
seront celles au
moment où l'usager ferme le classeur.
Dans le module de classe, remplace cette procédure par celle-ci.
Le code ajouté est spécifié.
'------------------------------------------------------
Private Sub AppXl_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As
Boolean)
Dim NomClasseur As String, X As Variant
With ThisWorkbook ' (classeur de la macro complémentaire)
With .Worksheets("Feuil1")
'Extraire le nom du classeur
NomClasseur = Wb.Name
'Identifie la ligne où est contenu de nom du classeur
X = Application.Match(NomClasseur, .Range("A:A"), 0)
'teste si le nom du classeur a été trouvé
If IsNumeric(X) Then
'Vérifie si depuis l'ouverture du fichier la valeur
'de la cellue B2 a été modifié
If .Range("C" & X) <> .Range("B" & X) Then
'Si oui, on enregistre la date de fermeture du fichier
'en créant un nom (Name) LaDate , contenant la date +
l'heure
'***************Code ajouté*****************
With Wb.Worksheets(1)
.Range("A50").NumberFormat = "DD MMM YYYY H:MM:SS"
.Range("A50").Value = Now()
.Range("A50").Value = .Name
End With
'*******************************************
'Afin de s'assurer de conserver cette donnée, le fichie r
'est enregistré automatiquement.
Wb.Save
End If
End If
End With
End With
End Sub
'------------------------------------------------------
Tu es sûrement pressé par le temps, mais il faudra quand même que
tu prennes un peu de temps pour comprendre comme cela fonctionne.
IMPORTANT - IMPORTANT :
Lorsque tu fais une modification à un fichier de macros complémentair es,
tu dois le sauvegarder manuellement en utilisant la commande à cet
effet lorsque le fichier est le fichier actif dans la fenêtre VBA.
N'oublie pas cela est aussi vrai pour la modification que je t'ai demand é
de faire dans le message précédent. Si tu ne le fais pas toi-même, tu
n'auras pas de message d'Excel demandant si tu désires sauvegarder
les modifications faites.
Après avoir fait les 2 changements au code du fichier de la macro
complémentaire, enregistre-le et ferme totalement le classeur.
Dès l'ouverture, le fichier de la macro complémentaire sera en vigueu r.
MichD
---------------------------------------------------------------
| Mais ou, je ne voius rien s'inscrire
La date de la modification est inscrite dans un "NOM" masqué
(insertion / nom / définir) ayant comme intitulé "LaDate"
Si tu avais pris le temps de copier la procédure que je t'ai
donné dans ton classeur de macros personnelles, tu n'aurais
eu qu'à appeler la procédure pour voir la valeur de "LaDate"
dans une boîte de message. Cela s'applique à tous les fichiers
ayant une feuille commentaire...
'------------------------------------------
Sub Date_Dernière_Modification_B2()
Dim X As Variant
On Error Resume Next
X = Evaluate("LaDate")
If IsError(X) Then
Err.Clear
Else
MsgBox Format(CDbl(Evaluate("LaDate")), "DD MMM YYYY H:MM:SS")
End If
End Sub
'------------------------------------------
| et aucune possibilité de faire du pas à pas dans la complémentair e
Le projetVBA du fichier de la macro complémentaire n'est pas protég é.
Tu mets des points d'arrêt sur chacune des procédures. Lorsqu'elles s ont
appelées, il s'agit d'utiliser la touche F8 pour le pas-à-pas. À la limite,
tu
cliques sur le ThisWorkbook du projetVBA de la macro complémentaire,
et dans les propriétés, tu mets la valeur "IsAddin" = False
Les feuilles du fichier de la macro complémentaire vont s'afficher comm e
n'importe quel classeur. Dans la feuil1 de ce fichier, tu peux suivre
l'évolution de ce qui est affiché. Lorsque tu as tout compris, tu rem ets
la propriété "isAddin" = True pour masquer les feuilles.
| dois je faire pour avoir la date en cellule A50 et le Nom en B50 de la
feuille 1
Si j'ai bien compris, en B50, tu veux avoir le nom de la première feuil le du
classeur??
Rien de plus facile, il s'agit de modifier légèrement le code du modu le de
classe
dans le fichier de la macro complémentaire.
L'information que tu veux en A50 et B50 de la première feuille s'inscri t au
moment
de la fermeture du classeur. C'est l'événement que j'ai choisi puisqu e
l'usager peut
modifier plusieurs fois la cellule B2 lors d'une même séance de trava il. Si
une
modification est apportée à la cellule B2, la date et l'heure inscrit e
seront celles au
moment où l'usager ferme le classeur.
Dans le module de classe, remplace cette procédure par celle-ci.
Le code ajouté est spécifié.
'------------------------------------------------------
Private Sub AppXl_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As
Boolean)
Dim NomClasseur As String, X As Variant
With ThisWorkbook ' (classeur de la macro complémentaire)
With .Worksheets("Feuil1")
'Extraire le nom du classeur
NomClasseur = Wb.Name
'Identifie la ligne où est contenu de nom du classeur
X = Application.Match(NomClasseur, .Range("A:A"), 0)
'teste si le nom du classeur a été trouvé
If IsNumeric(X) Then
'Vérifie si depuis l'ouverture du fichier la valeur
'de la cellue B2 a été modifié
If .Range("C" & X) <> .Range("B" & X) Then
'Si oui, on enregistre la date de fermeture du fichier
'en créant un nom (Name) LaDate , contenant la date +
l'heure
'***************Code ajouté*****************
With Wb.Worksheets(1)
.Range("A50").NumberFormat = "DD MMM YYYY H:MM:SS"
.Range("A50").Value = Now()
.Range("A50").Value = .Name
End With
'*******************************************
'Afin de s'assurer de conserver cette donnée, le fichie r
'est enregistré automatiquement.
Wb.Save
End If
End If
End With
End With
End Sub
'------------------------------------------------------
Tu es sûrement pressé par le temps, mais il faudra quand même que
tu prennes un peu de temps pour comprendre comme cela fonctionne.
IMPORTANT - IMPORTANT :
Lorsque tu fais une modification à un fichier de macros complémentair es,
tu dois le sauvegarder manuellement en utilisant la commande à cet
effet lorsque le fichier est le fichier actif dans la fenêtre VBA.
N'oublie pas cela est aussi vrai pour la modification que je t'ai demand é
de faire dans le message précédent. Si tu ne le fais pas toi-même, tu
n'auras pas de message d'Excel demandant si tu désires sauvegarder
les modifications faites.
Après avoir fait les 2 changements au code du fichier de la macro
complémentaire, enregistre-le et ferme totalement le classeur.
Dès l'ouverture, le fichier de la macro complémentaire sera en vigueu r.
MichD
---------------------------------------------------------------
Bonjour MichD
Quel reveil heureux
je viens de comprendre enfin ( dur de la feuille le Magic-dd) que ladate etait en fait un nom comme on le fait d'une zonne nommée.
tout fonctionne parfaitement desormais
juste à verifier le nom d'utilisateur qui ne fonctionne pas parfaitemen t car j'obtiens le nom de la feuille en A50 plutot que l'utilisateur.
pour le reste, je vais profiter de mes vacances pour etuduer cela
merci beaucoup encore, tu m'enleves un arbre du pied
bonne journée
Le mardi 6 août 2013 22:25:19 UTC+2, MichD a écrit :
> | Mais ou, je ne voius rien s'inscrire
>
>
>
> La date de la modification est inscrite dans un "NOM" masqué
>
> (insertion / nom / définir) ayant comme intitulé "LaDate"
>
>
>
> Si tu avais pris le temps de copier la procédure que je t'ai
>
> donné dans ton classeur de macros personnelles, tu n'aurais
>
> eu qu'à appeler la procédure pour voir la valeur de "LaDate"
>
> dans une boîte de message. Cela s'applique à tous les fichiers
>
> ayant une feuille commentaire...
>
>
>
> '------------------------------------------
>
> Sub Date_Dernière_Modification_B2()
>
> Dim X As Variant
>
> On Error Resume Next
>
> X = Evaluate("LaDate")
>
> If IsError(X) Then
>
> Err.Clear
>
> Else
>
> MsgBox Format(CDbl(Evaluate("LaDate")), "DD MMM YYYY H:MM:SS")
>
> End If
>
> End Sub
>
> '------------------------------------------
>
>
>
> | et aucune possibilité de faire du pas à pas dans la complémenta ire
>
>
>
> Le projetVBA du fichier de la macro complémentaire n'est pas protég é.
>
> Tu mets des points d'arrêt sur chacune des procédures. Lorsqu'elles sont
>
> appelées, il s'agit d'utiliser la touche F8 pour le pas-à-pas. À la limite,
>
> tu
>
> cliques sur le ThisWorkbook du projetVBA de la macro complémentaire,
>
> et dans les propriétés, tu mets la valeur "IsAddin" = False
>
> Les feuilles du fichier de la macro complémentaire vont s'afficher co mme
>
> n'importe quel classeur. Dans la feuil1 de ce fichier, tu peux suivre
>
> l'évolution de ce qui est affiché. Lorsque tu as tout compris, tu r emets
>
> la propriété "isAddin" = True pour masquer les feuilles.
>
>
>
> | dois je faire pour avoir la date en cellule A50 et le Nom en B50 de l a
>
> feuille 1
>
>
>
> Si j'ai bien compris, en B50, tu veux avoir le nom de la première feu ille du
>
> classeur??
>
>
>
> Rien de plus facile, il s'agit de modifier légèrement le code du mo dule de
>
> classe
>
> dans le fichier de la macro complémentaire.
>
>
>
> L'information que tu veux en A50 et B50 de la première feuille s'insc rit au
>
> moment
>
> de la fermeture du classeur. C'est l'événement que j'ai choisi puis que
>
> l'usager peut
>
> modifier plusieurs fois la cellule B2 lors d'une même séance de tra vail. Si
>
> une
>
> modification est apportée à la cellule B2, la date et l'heure inscr ite
>
> seront celles au
>
> moment où l'usager ferme le classeur.
>
>
>
> Dans le module de classe, remplace cette procédure par celle-ci.
>
> Le code ajouté est spécifié.
>
>
>
> '------------------------------------------------------
>
> Private Sub AppXl_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As
>
> Boolean)
>
>
>
> Dim NomClasseur As String, X As Variant
>
>
>
> With ThisWorkbook ' (classeur de la macro complémentaire)
>
> With .Worksheets("Feuil1")
>
> 'Extraire le nom du classeur
>
> NomClasseur = Wb.Name
>
> 'Identifie la ligne où est contenu de nom du classeur
>
> X = Application.Match(NomClasseur, .Range("A:A"), 0)
>
> 'teste si le nom du classeur a été trouvé
>
> If IsNumeric(X) Then
>
> 'Vérifie si depuis l'ouverture du fichier la valeur
>
> 'de la cellue B2 a été modifié
>
> If .Range("C" & X) <> .Range("B" & X) Then
>
> 'Si oui, on enregistre la date de fermeture du fichier
>
> 'en créant un nom (Name) LaDate , contenant la date +
>
> l'heure
>
>
>
> '***************Code ajouté*****************
>
> With Wb.Worksheets(1)
>
> .Range("A50").NumberFormat = "DD MMM YYYY H:MM:S S"
>
> .Range("A50").Value = Now()
>
> .Range("A50").Value = .Name
>
> End With
>
> '*******************************************
>
> 'Afin de s'assurer de conserver cette donnée, le fich ier
>
> 'est enregistré automatiquement.
>
> Wb.Save
>
> End If
>
> End If
>
> End With
>
> End With
>
> End Sub
>
> '------------------------------------------------------
>
>
>
> Tu es sûrement pressé par le temps, mais il faudra quand même que
>
> tu prennes un peu de temps pour comprendre comme cela fonctionne.
>
>
>
> IMPORTANT - IMPORTANT :
>
> Lorsque tu fais une modification à un fichier de macros complémenta ires,
>
> tu dois le sauvegarder manuellement en utilisant la commande à cet
>
> effet lorsque le fichier est le fichier actif dans la fenêtre VBA.
>
> N'oublie pas cela est aussi vrai pour la modification que je t'ai deman dé
>
> de faire dans le message précédent. Si tu ne le fais pas toi-même , tu
>
> n'auras pas de message d'Excel demandant si tu désires sauvegarder
>
> les modifications faites.
>
>
>
> Après avoir fait les 2 changements au code du fichier de la macro
>
> complémentaire, enregistre-le et ferme totalement le classeur.
>
> Dès l'ouverture, le fichier de la macro complémentaire sera en vigu eur.
>
>
>
>
>
> MichD
>
> ---------------------------------------------------------------
Bonjour MichD
Quel reveil heureux
je viens de comprendre enfin ( dur de la feuille le Magic-dd) que ladate etait en fait un nom comme on le fait d'une zonne nommée.
tout fonctionne parfaitement desormais
juste à verifier le nom d'utilisateur qui ne fonctionne pas parfaitemen t car j'obtiens le nom de la feuille en A50 plutot que l'utilisateur.
pour le reste, je vais profiter de mes vacances pour etuduer cela
merci beaucoup encore, tu m'enleves un arbre du pied
bonne journée
Le mardi 6 août 2013 22:25:19 UTC+2, MichD a écrit :
> | Mais ou, je ne voius rien s'inscrire
>
>
>
> La date de la modification est inscrite dans un "NOM" masqué
>
> (insertion / nom / définir) ayant comme intitulé "LaDate"
>
>
>
> Si tu avais pris le temps de copier la procédure que je t'ai
>
> donné dans ton classeur de macros personnelles, tu n'aurais
>
> eu qu'à appeler la procédure pour voir la valeur de "LaDate"
>
> dans une boîte de message. Cela s'applique à tous les fichiers
>
> ayant une feuille commentaire...
>
>
>
> '------------------------------------------
>
> Sub Date_Dernière_Modification_B2()
>
> Dim X As Variant
>
> On Error Resume Next
>
> X = Evaluate("LaDate")
>
> If IsError(X) Then
>
> Err.Clear
>
> Else
>
> MsgBox Format(CDbl(Evaluate("LaDate")), "DD MMM YYYY H:MM:SS")
>
> End If
>
> End Sub
>
> '------------------------------------------
>
>
>
> | et aucune possibilité de faire du pas à pas dans la complémenta ire
>
>
>
> Le projetVBA du fichier de la macro complémentaire n'est pas protég é.
>
> Tu mets des points d'arrêt sur chacune des procédures. Lorsqu'elles sont
>
> appelées, il s'agit d'utiliser la touche F8 pour le pas-à-pas. À la limite,
>
> tu
>
> cliques sur le ThisWorkbook du projetVBA de la macro complémentaire,
>
> et dans les propriétés, tu mets la valeur "IsAddin" = False
>
> Les feuilles du fichier de la macro complémentaire vont s'afficher co mme
>
> n'importe quel classeur. Dans la feuil1 de ce fichier, tu peux suivre
>
> l'évolution de ce qui est affiché. Lorsque tu as tout compris, tu r emets
>
> la propriété "isAddin" = True pour masquer les feuilles.
>
>
>
> | dois je faire pour avoir la date en cellule A50 et le Nom en B50 de l a
>
> feuille 1
>
>
>
> Si j'ai bien compris, en B50, tu veux avoir le nom de la première feu ille du
>
> classeur??
>
>
>
> Rien de plus facile, il s'agit de modifier légèrement le code du mo dule de
>
> classe
>
> dans le fichier de la macro complémentaire.
>
>
>
> L'information que tu veux en A50 et B50 de la première feuille s'insc rit au
>
> moment
>
> de la fermeture du classeur. C'est l'événement que j'ai choisi puis que
>
> l'usager peut
>
> modifier plusieurs fois la cellule B2 lors d'une même séance de tra vail. Si
>
> une
>
> modification est apportée à la cellule B2, la date et l'heure inscr ite
>
> seront celles au
>
> moment où l'usager ferme le classeur.
>
>
>
> Dans le module de classe, remplace cette procédure par celle-ci.
>
> Le code ajouté est spécifié.
>
>
>
> '------------------------------------------------------
>
> Private Sub AppXl_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As
>
> Boolean)
>
>
>
> Dim NomClasseur As String, X As Variant
>
>
>
> With ThisWorkbook ' (classeur de la macro complémentaire)
>
> With .Worksheets("Feuil1")
>
> 'Extraire le nom du classeur
>
> NomClasseur = Wb.Name
>
> 'Identifie la ligne où est contenu de nom du classeur
>
> X = Application.Match(NomClasseur, .Range("A:A"), 0)
>
> 'teste si le nom du classeur a été trouvé
>
> If IsNumeric(X) Then
>
> 'Vérifie si depuis l'ouverture du fichier la valeur
>
> 'de la cellue B2 a été modifié
>
> If .Range("C" & X) <> .Range("B" & X) Then
>
> 'Si oui, on enregistre la date de fermeture du fichier
>
> 'en créant un nom (Name) LaDate , contenant la date +
>
> l'heure
>
>
>
> '***************Code ajouté*****************
>
> With Wb.Worksheets(1)
>
> .Range("A50").NumberFormat = "DD MMM YYYY H:MM:S S"
>
> .Range("A50").Value = Now()
>
> .Range("A50").Value = .Name
>
> End With
>
> '*******************************************
>
> 'Afin de s'assurer de conserver cette donnée, le fich ier
>
> 'est enregistré automatiquement.
>
> Wb.Save
>
> End If
>
> End If
>
> End With
>
> End With
>
> End Sub
>
> '------------------------------------------------------
>
>
>
> Tu es sûrement pressé par le temps, mais il faudra quand même que
>
> tu prennes un peu de temps pour comprendre comme cela fonctionne.
>
>
>
> IMPORTANT - IMPORTANT :
>
> Lorsque tu fais une modification à un fichier de macros complémenta ires,
>
> tu dois le sauvegarder manuellement en utilisant la commande à cet
>
> effet lorsque le fichier est le fichier actif dans la fenêtre VBA.
>
> N'oublie pas cela est aussi vrai pour la modification que je t'ai deman dé
>
> de faire dans le message précédent. Si tu ne le fais pas toi-même , tu
>
> n'auras pas de message d'Excel demandant si tu désires sauvegarder
>
> les modifications faites.
>
>
>
> Après avoir fait les 2 changements au code du fichier de la macro
>
> complémentaire, enregistre-le et ferme totalement le classeur.
>
> Dès l'ouverture, le fichier de la macro complémentaire sera en vigu eur.
>
>
>
>
>
> MichD
>
> ---------------------------------------------------------------
Bonjour MichD
Quel reveil heureux
je viens de comprendre enfin ( dur de la feuille le Magic-dd) que ladate etait en fait un nom comme on le fait d'une zonne nommée.
tout fonctionne parfaitement desormais
juste à verifier le nom d'utilisateur qui ne fonctionne pas parfaitemen t car j'obtiens le nom de la feuille en A50 plutot que l'utilisateur.
pour le reste, je vais profiter de mes vacances pour etuduer cela
merci beaucoup encore, tu m'enleves un arbre du pied
bonne journée
Le mardi 6 août 2013 22:25:19 UTC+2, MichD a écrit :
> | Mais ou, je ne voius rien s'inscrire
>
>
>
> La date de la modification est inscrite dans un "NOM" masqué
>
> (insertion / nom / définir) ayant comme intitulé "LaDate"
>
>
>
> Si tu avais pris le temps de copier la procédure que je t'ai
>
> donné dans ton classeur de macros personnelles, tu n'aurais
>
> eu qu'à appeler la procédure pour voir la valeur de "LaDate"
>
> dans une boîte de message. Cela s'applique à tous les fichiers
>
> ayant une feuille commentaire...
>
>
>
> '------------------------------------------
>
> Sub Date_Dernière_Modification_B2()
>
> Dim X As Variant
>
> On Error Resume Next
>
> X = Evaluate("LaDate")
>
> If IsError(X) Then
>
> Err.Clear
>
> Else
>
> MsgBox Format(CDbl(Evaluate("LaDate")), "DD MMM YYYY H:MM:SS")
>
> End If
>
> End Sub
>
> '------------------------------------------
>
>
>
> | et aucune possibilité de faire du pas à pas dans la complémenta ire
>
>
>
> Le projetVBA du fichier de la macro complémentaire n'est pas protég é.
>
> Tu mets des points d'arrêt sur chacune des procédures. Lorsqu'elles sont
>
> appelées, il s'agit d'utiliser la touche F8 pour le pas-à-pas. À la limite,
>
> tu
>
> cliques sur le ThisWorkbook du projetVBA de la macro complémentaire,
>
> et dans les propriétés, tu mets la valeur "IsAddin" = False
>
> Les feuilles du fichier de la macro complémentaire vont s'afficher co mme
>
> n'importe quel classeur. Dans la feuil1 de ce fichier, tu peux suivre
>
> l'évolution de ce qui est affiché. Lorsque tu as tout compris, tu r emets
>
> la propriété "isAddin" = True pour masquer les feuilles.
>
>
>
> | dois je faire pour avoir la date en cellule A50 et le Nom en B50 de l a
>
> feuille 1
>
>
>
> Si j'ai bien compris, en B50, tu veux avoir le nom de la première feu ille du
>
> classeur??
>
>
>
> Rien de plus facile, il s'agit de modifier légèrement le code du mo dule de
>
> classe
>
> dans le fichier de la macro complémentaire.
>
>
>
> L'information que tu veux en A50 et B50 de la première feuille s'insc rit au
>
> moment
>
> de la fermeture du classeur. C'est l'événement que j'ai choisi puis que
>
> l'usager peut
>
> modifier plusieurs fois la cellule B2 lors d'une même séance de tra vail. Si
>
> une
>
> modification est apportée à la cellule B2, la date et l'heure inscr ite
>
> seront celles au
>
> moment où l'usager ferme le classeur.
>
>
>
> Dans le module de classe, remplace cette procédure par celle-ci.
>
> Le code ajouté est spécifié.
>
>
>
> '------------------------------------------------------
>
> Private Sub AppXl_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As
>
> Boolean)
>
>
>
> Dim NomClasseur As String, X As Variant
>
>
>
> With ThisWorkbook ' (classeur de la macro complémentaire)
>
> With .Worksheets("Feuil1")
>
> 'Extraire le nom du classeur
>
> NomClasseur = Wb.Name
>
> 'Identifie la ligne où est contenu de nom du classeur
>
> X = Application.Match(NomClasseur, .Range("A:A"), 0)
>
> 'teste si le nom du classeur a été trouvé
>
> If IsNumeric(X) Then
>
> 'Vérifie si depuis l'ouverture du fichier la valeur
>
> 'de la cellue B2 a été modifié
>
> If .Range("C" & X) <> .Range("B" & X) Then
>
> 'Si oui, on enregistre la date de fermeture du fichier
>
> 'en créant un nom (Name) LaDate , contenant la date +
>
> l'heure
>
>
>
> '***************Code ajouté*****************
>
> With Wb.Worksheets(1)
>
> .Range("A50").NumberFormat = "DD MMM YYYY H:MM:S S"
>
> .Range("A50").Value = Now()
>
> .Range("A50").Value = .Name
>
> End With
>
> '*******************************************
>
> 'Afin de s'assurer de conserver cette donnée, le fich ier
>
> 'est enregistré automatiquement.
>
> Wb.Save
>
> End If
>
> End If
>
> End With
>
> End With
>
> End Sub
>
> '------------------------------------------------------
>
>
>
> Tu es sûrement pressé par le temps, mais il faudra quand même que
>
> tu prennes un peu de temps pour comprendre comme cela fonctionne.
>
>
>
> IMPORTANT - IMPORTANT :
>
> Lorsque tu fais une modification à un fichier de macros complémenta ires,
>
> tu dois le sauvegarder manuellement en utilisant la commande à cet
>
> effet lorsque le fichier est le fichier actif dans la fenêtre VBA.
>
> N'oublie pas cela est aussi vrai pour la modification que je t'ai deman dé
>
> de faire dans le message précédent. Si tu ne le fais pas toi-même , tu
>
> n'auras pas de message d'Excel demandant si tu désires sauvegarder
>
> les modifications faites.
>
>
>
> Après avoir fait les 2 changements au code du fichier de la macro
>
> complémentaire, enregistre-le et ferme totalement le classeur.
>
> Dès l'ouverture, le fichier de la macro complémentaire sera en vigu eur.
>
>
>
>
>
> MichD
>
> ---------------------------------------------------------------
| je ne sais pas d'ou tu es
L'autre côté de la marre, au Québec!
MichD
---------------------------------------------------------------
| je ne sais pas d'ou tu es
L'autre côté de la marre, au Québec!
MichD
---------------------------------------------------------------
| je ne sais pas d'ou tu es
L'autre côté de la marre, au Québec!
MichD
---------------------------------------------------------------