Bonjour Sandrine,
Pour avoir le message suivant, tu as certainement une version Excel 2007.
Cette version possède diverses extensions de fichier dont ceux-ci :
xlsx - > sauvegarde seulement les feuilles de calcul
xlsm -> prend aussi en charge les macros
Si le fichier possède des macros et que tu veux conserver ces macros,
tu dois lors de l'enregistrement t'assurer lors de l'ouverture de la fenêtre
"Enregistrer sous" que la liste déroulante représentant le "type" de fichier"
indique : "Classeur Excel (prenant en charge les macros)(*.xlsm) avant
d'enregistrer ton fichier. À défaut, de le faire, Excel t'envoie le message
suivant pour t'avertir que si tu réponds "OUI", tes macros seront perdues.
Il aurait fallu que tu répondes "Non" et que tu fasses la modification du
type de fichier.
Si tu le désires, tu peux choisir cette option par défaut là :
Gros bouton office dans le coin supérieur gauche de l'application Excel
Options Excel
Onglet "Enregistrements"
Et dans la liste déroulante "Enregistrer les fichiers au format suivant", tu
sélectionnes dans la liste déroulante le "TYPE" de fichier par défaut que
tu aimerais lorsque la fenêtre "enregistrer sous" s'ouvre.
'------------------------------------------------
«Les fonctionnalités suivantes ne peuvent pas être enregistrées dans des
classeurs sans macro.
Projet VB
Pour enregistrer un fichier avec ces fonctionnalités, cliquez sur NON, puis
sélectionnez un type de fichier prenant en charge les macros.
Pour continuer à enregistrer en tant que classeur sans macro, cliquez sur
OUI »
'------------------------------------------------
Bonjour Sandrine,
Pour avoir le message suivant, tu as certainement une version Excel 2007.
Cette version possède diverses extensions de fichier dont ceux-ci :
xlsx - > sauvegarde seulement les feuilles de calcul
xlsm -> prend aussi en charge les macros
Si le fichier possède des macros et que tu veux conserver ces macros,
tu dois lors de l'enregistrement t'assurer lors de l'ouverture de la fenêtre
"Enregistrer sous" que la liste déroulante représentant le "type" de fichier"
indique : "Classeur Excel (prenant en charge les macros)(*.xlsm) avant
d'enregistrer ton fichier. À défaut, de le faire, Excel t'envoie le message
suivant pour t'avertir que si tu réponds "OUI", tes macros seront perdues.
Il aurait fallu que tu répondes "Non" et que tu fasses la modification du
type de fichier.
Si tu le désires, tu peux choisir cette option par défaut là :
Gros bouton office dans le coin supérieur gauche de l'application Excel
Options Excel
Onglet "Enregistrements"
Et dans la liste déroulante "Enregistrer les fichiers au format suivant", tu
sélectionnes dans la liste déroulante le "TYPE" de fichier par défaut que
tu aimerais lorsque la fenêtre "enregistrer sous" s'ouvre.
'------------------------------------------------
«Les fonctionnalités suivantes ne peuvent pas être enregistrées dans des
classeurs sans macro.
Projet VB
Pour enregistrer un fichier avec ces fonctionnalités, cliquez sur NON, puis
sélectionnez un type de fichier prenant en charge les macros.
Pour continuer à enregistrer en tant que classeur sans macro, cliquez sur
OUI »
'------------------------------------------------
Bonjour Sandrine,
Pour avoir le message suivant, tu as certainement une version Excel 2007.
Cette version possède diverses extensions de fichier dont ceux-ci :
xlsx - > sauvegarde seulement les feuilles de calcul
xlsm -> prend aussi en charge les macros
Si le fichier possède des macros et que tu veux conserver ces macros,
tu dois lors de l'enregistrement t'assurer lors de l'ouverture de la fenêtre
"Enregistrer sous" que la liste déroulante représentant le "type" de fichier"
indique : "Classeur Excel (prenant en charge les macros)(*.xlsm) avant
d'enregistrer ton fichier. À défaut, de le faire, Excel t'envoie le message
suivant pour t'avertir que si tu réponds "OUI", tes macros seront perdues.
Il aurait fallu que tu répondes "Non" et que tu fasses la modification du
type de fichier.
Si tu le désires, tu peux choisir cette option par défaut là :
Gros bouton office dans le coin supérieur gauche de l'application Excel
Options Excel
Onglet "Enregistrements"
Et dans la liste déroulante "Enregistrer les fichiers au format suivant", tu
sélectionnes dans la liste déroulante le "TYPE" de fichier par défaut que
tu aimerais lorsque la fenêtre "enregistrer sous" s'ouvre.
'------------------------------------------------
«Les fonctionnalités suivantes ne peuvent pas être enregistrées dans des
classeurs sans macro.
Projet VB
Pour enregistrer un fichier avec ces fonctionnalités, cliquez sur NON, puis
sélectionnez un type de fichier prenant en charge les macros.
Pour continuer à enregistrer en tant que classeur sans macro, cliquez sur
OUI »
'------------------------------------------------
| PETITE QUESTION :
| est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
| cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
| les macros ?
| Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
| d’être correct.
| Peux tu s’il te plaît, me le confirmer.
*** La réponse est OUI.
*** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
en alternance, tu dois installer le "pack de compatibilité d'office"
disponible sur le site de Microsoft disponible à cette adresse :
http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
| AUTRE PROBLEME :
De quel code parles-tu ? Et, Quelles sont tes attentes ?
| PETITE QUESTION :
| est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
| cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
| les macros ?
| Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
| d’être correct.
| Peux tu s’il te plaît, me le confirmer.
*** La réponse est OUI.
*** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
en alternance, tu dois installer le "pack de compatibilité d'office"
disponible sur le site de Microsoft disponible à cette adresse :
http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
| AUTRE PROBLEME :
De quel code parles-tu ? Et, Quelles sont tes attentes ?
| PETITE QUESTION :
| est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
| cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
| les macros ?
| Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
| d’être correct.
| Peux tu s’il te plaît, me le confirmer.
*** La réponse est OUI.
*** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
en alternance, tu dois installer le "pack de compatibilité d'office"
disponible sur le site de Microsoft disponible à cette adresse :
http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
| AUTRE PROBLEME :
De quel code parles-tu ? Et, Quelles sont tes attentes ?
| PETITE QUESTION :
| est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
| cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
| les macros ?
| Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
| d’être correct.
| Peux tu s’il te plaît, me le confirmer.
*** La réponse est OUI.
*** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
en alternance, tu dois installer le "pack de compatibilité d'office"
disponible sur le site de Microsoft disponible à cette adresse :
http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
| AUTRE PROBLEME :
De quel code parles-tu ? Et, Quelles sont tes attentes ?
| PETITE QUESTION :
| est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
| cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
| les macros ?
| Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
| d’être correct.
| Peux tu s’il te plaît, me le confirmer.
*** La réponse est OUI.
*** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
en alternance, tu dois installer le "pack de compatibilité d'office"
disponible sur le site de Microsoft disponible à cette adresse :
http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
| AUTRE PROBLEME :
De quel code parles-tu ? Et, Quelles sont tes attentes ?
| PETITE QUESTION :
| est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
| cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
| les macros ?
| Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
| d’être correct.
| Peux tu s’il te plaît, me le confirmer.
*** La réponse est OUI.
*** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
en alternance, tu dois installer le "pack de compatibilité d'office"
disponible sur le site de Microsoft disponible à cette adresse :
http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
| AUTRE PROBLEME :
De quel code parles-tu ? Et, Quelles sont tes attentes ?
je crois que tu utilises l'une ou l'autre des macros événementielles
dans la feuille. Elles sont appelées "événementielles" car elles s''activent
suite à une action de l'usager.
Celle-ci s'exécute dès qu'une cellule de la feuille de calcul passe
en mode édition. Ce n'est pas obligatoire que le contenu de la
cellule soit modifié.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
'-------------------------------
Celle-ci est déclenchée dès qu'un usager sélectionne une cellule
de la feuille.
'-------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
'-------------------------------
Ce code s'il est actionné par une des macros événementielles
stipule que si la cellule active fait partie de la plage B1:D40, la
date de la journée sera inscrite dans la cellule A1
'---------------------------
If Not Intersect(Target, Range("b1:d40")) Is Nothing Then
Application.EnableEvents úlse
Range("A1") = Date
Application.EnableEvents úlse
End If
'---------------------------
Si tu ouvres ton fichier 25 fois dans la journée, la fonction "Date"
va toujours retourner la date du jour. Conséquence, tu ne verras
pas une différence en A1. Cependant, si tu fais une mise à jour
(tu dois effectuer une action qui déclenche la macro événementielle
que tu utilises), A1 va recevoir la date de la journée. Au lieu d'utiliser
la fonction "Date", tu peux utiliser la fonction "Now" qui ajoute l'heure
minutes et secondes en plus de la date de la journée.
Si tu obtiens un autre comportement que ce dernier, ou si tu veux
obtenir un résultat différent, tu devras expliciter davantage quel est
ton besoin.
Bien cordialement,
"SANDRINE P." a écrit dans le message de groupe de
discussion :
Re bonsoir MichDenis,
Grand merci pour tes réponses à mon premier point.
Ce que j’appelle, sans doute improprement, code est l’exemple que Philippe
m’a donné.
J’ai collé cet exemple dans le module de la feuille souhaitée
(en ouvrant ledit module, par un clic droit sur l'onglet et "visualiser le
code").
Il s’agit de l’exemple suivant :
'inscrit la date du jour en a1 de la feuille contenant
' le code si un changement intervient dans la plage
' allant de b1 à d40
If Not Intersect(Target, Range("b1:d40")) Is Nothing _
Then [a1] = Date
- Le jour où j’ai collé l’exemple de Philippe, ça a très bien fonctionné.
- Le lendemain, j’ai voulu faire une nouvelle mise à jour : la date n’a pas
évolué.
- J’ai alors fait plusieurs tests et j’ai constaté que tant que l’on ne
ferme pas le fichier ça marche, même si on fait plusieurs mises à jour.
En revanche dès que l’on a fermé le fichier et qu’on y revient ça ne marche
plus.
Ce que je voudrais, c’est que l’exemple fonctionne dans tous les cas de
figure que j’aie ou non fermé le fichier.
Je te remercie d’avance pour ton aide ET TA PATIENCE.
Je te souhaite une très bonne soirée.
Bien cordialement,
Sandrine
"MichDenis" a écrit :
> | PETITE QUESTION :
> | est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
> | cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
> | les macros ?
> | Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
> | d’être correct.
> | Peux tu s’il te plaît, me le confirmer.
>
> *** La réponse est OUI.
>
> *** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
> en alternance, tu dois installer le "pack de compatibilité d'office"
> disponible sur le site de Microsoft disponible à cette adresse :
> http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
>
> P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
>
>
> | AUTRE PROBLEME :
>
> De quel code parles-tu ? Et, Quelles sont tes attentes ?
>
>
je crois que tu utilises l'une ou l'autre des macros événementielles
dans la feuille. Elles sont appelées "événementielles" car elles s''activent
suite à une action de l'usager.
Celle-ci s'exécute dès qu'une cellule de la feuille de calcul passe
en mode édition. Ce n'est pas obligatoire que le contenu de la
cellule soit modifié.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
'-------------------------------
Celle-ci est déclenchée dès qu'un usager sélectionne une cellule
de la feuille.
'-------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
'-------------------------------
Ce code s'il est actionné par une des macros événementielles
stipule que si la cellule active fait partie de la plage B1:D40, la
date de la journée sera inscrite dans la cellule A1
'---------------------------
If Not Intersect(Target, Range("b1:d40")) Is Nothing Then
Application.EnableEvents úlse
Range("A1") = Date
Application.EnableEvents úlse
End If
'---------------------------
Si tu ouvres ton fichier 25 fois dans la journée, la fonction "Date"
va toujours retourner la date du jour. Conséquence, tu ne verras
pas une différence en A1. Cependant, si tu fais une mise à jour
(tu dois effectuer une action qui déclenche la macro événementielle
que tu utilises), A1 va recevoir la date de la journée. Au lieu d'utiliser
la fonction "Date", tu peux utiliser la fonction "Now" qui ajoute l'heure
minutes et secondes en plus de la date de la journée.
Si tu obtiens un autre comportement que ce dernier, ou si tu veux
obtenir un résultat différent, tu devras expliciter davantage quel est
ton besoin.
Bien cordialement,
"SANDRINE P." <SANDRINEP@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 582EFC0F-4974-4DF7-8273-70F2012D58BC@microsoft.com...
Re bonsoir MichDenis,
Grand merci pour tes réponses à mon premier point.
Ce que j’appelle, sans doute improprement, code est l’exemple que Philippe
m’a donné.
J’ai collé cet exemple dans le module de la feuille souhaitée
(en ouvrant ledit module, par un clic droit sur l'onglet et "visualiser le
code").
Il s’agit de l’exemple suivant :
'inscrit la date du jour en a1 de la feuille contenant
' le code si un changement intervient dans la plage
' allant de b1 à d40
If Not Intersect(Target, Range("b1:d40")) Is Nothing _
Then [a1] = Date
- Le jour où j’ai collé l’exemple de Philippe, ça a très bien fonctionné.
- Le lendemain, j’ai voulu faire une nouvelle mise à jour : la date n’a pas
évolué.
- J’ai alors fait plusieurs tests et j’ai constaté que tant que l’on ne
ferme pas le fichier ça marche, même si on fait plusieurs mises à jour.
En revanche dès que l’on a fermé le fichier et qu’on y revient ça ne marche
plus.
Ce que je voudrais, c’est que l’exemple fonctionne dans tous les cas de
figure que j’aie ou non fermé le fichier.
Je te remercie d’avance pour ton aide ET TA PATIENCE.
Je te souhaite une très bonne soirée.
Bien cordialement,
Sandrine
"MichDenis" a écrit :
> | PETITE QUESTION :
> | est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
> | cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
> | les macros ?
> | Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
> | d’être correct.
> | Peux tu s’il te plaît, me le confirmer.
>
> *** La réponse est OUI.
>
> *** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
> en alternance, tu dois installer le "pack de compatibilité d'office"
> disponible sur le site de Microsoft disponible à cette adresse :
> http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
>
> P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
>
>
> | AUTRE PROBLEME :
>
> De quel code parles-tu ? Et, Quelles sont tes attentes ?
>
>
je crois que tu utilises l'une ou l'autre des macros événementielles
dans la feuille. Elles sont appelées "événementielles" car elles s''activent
suite à une action de l'usager.
Celle-ci s'exécute dès qu'une cellule de la feuille de calcul passe
en mode édition. Ce n'est pas obligatoire que le contenu de la
cellule soit modifié.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
'-------------------------------
Celle-ci est déclenchée dès qu'un usager sélectionne une cellule
de la feuille.
'-------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
'-------------------------------
Ce code s'il est actionné par une des macros événementielles
stipule que si la cellule active fait partie de la plage B1:D40, la
date de la journée sera inscrite dans la cellule A1
'---------------------------
If Not Intersect(Target, Range("b1:d40")) Is Nothing Then
Application.EnableEvents úlse
Range("A1") = Date
Application.EnableEvents úlse
End If
'---------------------------
Si tu ouvres ton fichier 25 fois dans la journée, la fonction "Date"
va toujours retourner la date du jour. Conséquence, tu ne verras
pas une différence en A1. Cependant, si tu fais une mise à jour
(tu dois effectuer une action qui déclenche la macro événementielle
que tu utilises), A1 va recevoir la date de la journée. Au lieu d'utiliser
la fonction "Date", tu peux utiliser la fonction "Now" qui ajoute l'heure
minutes et secondes en plus de la date de la journée.
Si tu obtiens un autre comportement que ce dernier, ou si tu veux
obtenir un résultat différent, tu devras expliciter davantage quel est
ton besoin.
Bien cordialement,
"SANDRINE P." a écrit dans le message de groupe de
discussion :
Re bonsoir MichDenis,
Grand merci pour tes réponses à mon premier point.
Ce que j’appelle, sans doute improprement, code est l’exemple que Philippe
m’a donné.
J’ai collé cet exemple dans le module de la feuille souhaitée
(en ouvrant ledit module, par un clic droit sur l'onglet et "visualiser le
code").
Il s’agit de l’exemple suivant :
'inscrit la date du jour en a1 de la feuille contenant
' le code si un changement intervient dans la plage
' allant de b1 à d40
If Not Intersect(Target, Range("b1:d40")) Is Nothing _
Then [a1] = Date
- Le jour où j’ai collé l’exemple de Philippe, ça a très bien fonctionné.
- Le lendemain, j’ai voulu faire une nouvelle mise à jour : la date n’a pas
évolué.
- J’ai alors fait plusieurs tests et j’ai constaté que tant que l’on ne
ferme pas le fichier ça marche, même si on fait plusieurs mises à jour.
En revanche dès que l’on a fermé le fichier et qu’on y revient ça ne marche
plus.
Ce que je voudrais, c’est que l’exemple fonctionne dans tous les cas de
figure que j’aie ou non fermé le fichier.
Je te remercie d’avance pour ton aide ET TA PATIENCE.
Je te souhaite une très bonne soirée.
Bien cordialement,
Sandrine
"MichDenis" a écrit :
> | PETITE QUESTION :
> | est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
> | cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
> | les macros ?
> | Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
> | d’être correct.
> | Peux tu s’il te plaît, me le confirmer.
>
> *** La réponse est OUI.
>
> *** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
> en alternance, tu dois installer le "pack de compatibilité d'office"
> disponible sur le site de Microsoft disponible à cette adresse :
> http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
>
> P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
>
>
> | AUTRE PROBLEME :
>
> De quel code parles-tu ? Et, Quelles sont tes attentes ?
>
>
je crois que tu utilises l'une ou l'autre des macros événementielles
dans la feuille. Elles sont appelées "événementielles" car elles s''activent
suite à une action de l'usager.
Celle-ci s'exécute dès qu'une cellule de la feuille de calcul passe
en mode édition. Ce n'est pas obligatoire que le contenu de la
cellule soit modifié.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
'-------------------------------
Celle-ci est déclenchée dès qu'un usager sélectionne une cellule
de la feuille.
'-------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
'-------------------------------
Ce code s'il est actionné par une des macros événementielles
stipule que si la cellule active fait partie de la plage B1:D40, la
date de la journée sera inscrite dans la cellule A1
'---------------------------
If Not Intersect(Target, Range("b1:d40")) Is Nothing Then
Application.EnableEvents úlse
Range("A1") = Date
Application.EnableEvents úlse
End If
'---------------------------
Si tu ouvres ton fichier 25 fois dans la journée, la fonction "Date"
va toujours retourner la date du jour. Conséquence, tu ne verras
pas une différence en A1. Cependant, si tu fais une mise à jour
(tu dois effectuer une action qui déclenche la macro événementielle
que tu utilises), A1 va recevoir la date de la journée. Au lieu d'utiliser
la fonction "Date", tu peux utiliser la fonction "Now" qui ajoute l'heure
minutes et secondes en plus de la date de la journée.
Si tu obtiens un autre comportement que ce dernier, ou si tu veux
obtenir un résultat différent, tu devras expliciter davantage quel est
ton besoin.
Bien cordialement,
"SANDRINE P." a écrit dans le message de groupe de
discussion :
Re bonsoir MichDenis,
Grand merci pour tes réponses à mon premier point.
Ce que j’appelle, sans doute improprement, code est l’exemple que Philippe
m’a donné.
J’ai collé cet exemple dans le module de la feuille souhaitée
(en ouvrant ledit module, par un clic droit sur l'onglet et "visualiser le
code").
Il s’agit de l’exemple suivant :
'inscrit la date du jour en a1 de la feuille contenant
' le code si un changement intervient dans la plage
' allant de b1 à d40
If Not Intersect(Target, Range("b1:d40")) Is Nothing _
Then [a1] = Date
- Le jour où j’ai collé l’exemple de Philippe, ça a très bien fonctionné.
- Le lendemain, j’ai voulu faire une nouvelle mise à jour : la date n’a pas
évolué.
- J’ai alors fait plusieurs tests et j’ai constaté que tant que l’on ne
ferme pas le fichier ça marche, même si on fait plusieurs mises à jour.
En revanche dès que l’on a fermé le fichier et qu’on y revient ça ne marche
plus.
Ce que je voudrais, c’est que l’exemple fonctionne dans tous les cas de
figure que j’aie ou non fermé le fichier.
Je te remercie d’avance pour ton aide ET TA PATIENCE.
Je te souhaite une très bonne soirée.
Bien cordialement,
Sandrine
"MichDenis" a écrit :
> | PETITE QUESTION :
> | est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
> | cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
> | les macros ?
> | Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
> | d’être correct.
> | Peux tu s’il te plaît, me le confirmer.
>
> *** La réponse est OUI.
>
> *** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
> en alternance, tu dois installer le "pack de compatibilité d'office"
> disponible sur le site de Microsoft disponible à cette adresse :
> http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
>
> P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
>
>
> | AUTRE PROBLEME :
>
> De quel code parles-tu ? Et, Quelles sont tes attentes ?
>
>
je crois que tu utilises l'une ou l'autre des macros événementielles
dans la feuille. Elles sont appelées "événementielles" car elles s''activent
suite à une action de l'usager.
Celle-ci s'exécute dès qu'une cellule de la feuille de calcul passe
en mode édition. Ce n'est pas obligatoire que le contenu de la
cellule soit modifié.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
'-------------------------------
Celle-ci est déclenchée dès qu'un usager sélectionne une cellule
de la feuille.
'-------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
'-------------------------------
Ce code s'il est actionné par une des macros événementielles
stipule que si la cellule active fait partie de la plage B1:D40, la
date de la journée sera inscrite dans la cellule A1
'---------------------------
If Not Intersect(Target, Range("b1:d40")) Is Nothing Then
Application.EnableEvents úlse
Range("A1") = Date
Application.EnableEvents úlse
End If
'---------------------------
Si tu ouvres ton fichier 25 fois dans la journée, la fonction "Date"
va toujours retourner la date du jour. Conséquence, tu ne verras
pas une différence en A1. Cependant, si tu fais une mise à jour
(tu dois effectuer une action qui déclenche la macro événementielle
que tu utilises), A1 va recevoir la date de la journée. Au lieu d'utiliser
la fonction "Date", tu peux utiliser la fonction "Now" qui ajoute l'heure
minutes et secondes en plus de la date de la journée.
Si tu obtiens un autre comportement que ce dernier, ou si tu veux
obtenir un résultat différent, tu devras expliciter davantage quel est
ton besoin.
Bien cordialement,
"SANDRINE P." <SANDRINEP@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 582EFC0F-4974-4DF7-8273-70F2012D58BC@microsoft.com...
Re bonsoir MichDenis,
Grand merci pour tes réponses à mon premier point.
Ce que j’appelle, sans doute improprement, code est l’exemple que Philippe
m’a donné.
J’ai collé cet exemple dans le module de la feuille souhaitée
(en ouvrant ledit module, par un clic droit sur l'onglet et "visualiser le
code").
Il s’agit de l’exemple suivant :
'inscrit la date du jour en a1 de la feuille contenant
' le code si un changement intervient dans la plage
' allant de b1 à d40
If Not Intersect(Target, Range("b1:d40")) Is Nothing _
Then [a1] = Date
- Le jour où j’ai collé l’exemple de Philippe, ça a très bien fonctionné.
- Le lendemain, j’ai voulu faire une nouvelle mise à jour : la date n’a pas
évolué.
- J’ai alors fait plusieurs tests et j’ai constaté que tant que l’on ne
ferme pas le fichier ça marche, même si on fait plusieurs mises à jour.
En revanche dès que l’on a fermé le fichier et qu’on y revient ça ne marche
plus.
Ce que je voudrais, c’est que l’exemple fonctionne dans tous les cas de
figure que j’aie ou non fermé le fichier.
Je te remercie d’avance pour ton aide ET TA PATIENCE.
Je te souhaite une très bonne soirée.
Bien cordialement,
Sandrine
"MichDenis" a écrit :
> | PETITE QUESTION :
> | est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
> | cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
> | les macros ?
> | Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
> | d’être correct.
> | Peux tu s’il te plaît, me le confirmer.
>
> *** La réponse est OUI.
>
> *** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
> en alternance, tu dois installer le "pack de compatibilité d'office"
> disponible sur le site de Microsoft disponible à cette adresse :
> http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
>
> P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
>
>
> | AUTRE PROBLEME :
>
> De quel code parles-tu ? Et, Quelles sont tes attentes ?
>
>
je crois que tu utilises l'une ou l'autre des macros événementielles
dans la feuille. Elles sont appelées "événementielles" car elles s''activent
suite à une action de l'usager.
Celle-ci s'exécute dès qu'une cellule de la feuille de calcul passe
en mode édition. Ce n'est pas obligatoire que le contenu de la
cellule soit modifié.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
'-------------------------------
Celle-ci est déclenchée dès qu'un usager sélectionne une cellule
de la feuille.
'-------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
'-------------------------------
Ce code s'il est actionné par une des macros événementielles
stipule que si la cellule active fait partie de la plage B1:D40, la
date de la journée sera inscrite dans la cellule A1
'---------------------------
If Not Intersect(Target, Range("b1:d40")) Is Nothing Then
Application.EnableEvents úlse
Range("A1") = Date
Application.EnableEvents úlse
End If
'---------------------------
Si tu ouvres ton fichier 25 fois dans la journée, la fonction "Date"
va toujours retourner la date du jour. Conséquence, tu ne verras
pas une différence en A1. Cependant, si tu fais une mise à jour
(tu dois effectuer une action qui déclenche la macro événementielle
que tu utilises), A1 va recevoir la date de la journée. Au lieu d'utiliser
la fonction "Date", tu peux utiliser la fonction "Now" qui ajoute l'heure
minutes et secondes en plus de la date de la journée.
Si tu obtiens un autre comportement que ce dernier, ou si tu veux
obtenir un résultat différent, tu devras expliciter davantage quel est
ton besoin.
Bien cordialement,
"SANDRINE P." a écrit dans le message de groupe de
discussion :
Re bonsoir MichDenis,
Grand merci pour tes réponses à mon premier point.
Ce que j’appelle, sans doute improprement, code est l’exemple que Philippe
m’a donné.
J’ai collé cet exemple dans le module de la feuille souhaitée
(en ouvrant ledit module, par un clic droit sur l'onglet et "visualiser le
code").
Il s’agit de l’exemple suivant :
'inscrit la date du jour en a1 de la feuille contenant
' le code si un changement intervient dans la plage
' allant de b1 à d40
If Not Intersect(Target, Range("b1:d40")) Is Nothing _
Then [a1] = Date
- Le jour où j’ai collé l’exemple de Philippe, ça a très bien fonctionné.
- Le lendemain, j’ai voulu faire une nouvelle mise à jour : la date n’a pas
évolué.
- J’ai alors fait plusieurs tests et j’ai constaté que tant que l’on ne
ferme pas le fichier ça marche, même si on fait plusieurs mises à jour.
En revanche dès que l’on a fermé le fichier et qu’on y revient ça ne marche
plus.
Ce que je voudrais, c’est que l’exemple fonctionne dans tous les cas de
figure que j’aie ou non fermé le fichier.
Je te remercie d’avance pour ton aide ET TA PATIENCE.
Je te souhaite une très bonne soirée.
Bien cordialement,
Sandrine
"MichDenis" a écrit :
> | PETITE QUESTION :
> | est-ce que je peux faire nouvel un enregistrement du fichier enregistré avec
> | cette option sous le type de fichier « classeur excel 97- 2003, sans perdre
> | les macros ?
> | Apparemment oui : j’ai essayé et je n’ai pas perdu les macros. ça a l’air
> | d’être correct.
> | Peux tu s’il te plaît, me le confirmer.
>
> *** La réponse est OUI.
>
> *** Si tu veux pouvoir tes fichiers Excel 2003 et 2007
> en alternance, tu dois installer le "pack de compatibilité d'office"
> disponible sur le site de Microsoft disponible à cette adresse :
> http://www.microsoft.com/downloads/details.aspx?familyid1b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=fr
>
> P.S- Il existe un Pack de mise à jour à ce pack de compatibilité.
>
>
> | AUTRE PROBLEME :
>
> De quel code parles-tu ? Et, Quelles sont tes attentes ?
>
>
Il est possible que tu aies une macro qui désactive les macros événementielles
C'est à dire que la macro utilise la ligne de code :
Application.EnableEvents = False
et ne la remet pas à True à la fin de la macro.
Pour activer de nouveau les macros événementielles, tu copies cette
macro dans un module et tu l'exécutes :
'-----------------------------------------------
Sub Activer_Macros_événementielles()
Application.EnableEvents = True
End With
'-----------------------------------------------
Il est possible que tu aies une macro qui désactive les macros événementielles
C'est à dire que la macro utilise la ligne de code :
Application.EnableEvents = False
et ne la remet pas à True à la fin de la macro.
Pour activer de nouveau les macros événementielles, tu copies cette
macro dans un module et tu l'exécutes :
'-----------------------------------------------
Sub Activer_Macros_événementielles()
Application.EnableEvents = True
End With
'-----------------------------------------------
Il est possible que tu aies une macro qui désactive les macros événementielles
C'est à dire que la macro utilise la ligne de code :
Application.EnableEvents = False
et ne la remet pas à True à la fin de la macro.
Pour activer de nouveau les macros événementielles, tu copies cette
macro dans un module et tu l'exécutes :
'-----------------------------------------------
Sub Activer_Macros_événementielles()
Application.EnableEvents = True
End With
'-----------------------------------------------