Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro non VBA

6 réponses
Avatar
Paulchen
Salut,

J'ai une vieille macro que j'aimerais conserver
(hors VBA dans Excel 2003, ça vient d'Excel 4).

Elle écrit des morceaux de la feuille de calcul en cours vers des CSV.

A chaque fois elle me demande avant d'écraser les anciens fichiers CSV.
Exemple :
=ENREGISTRER.SOUS("WINSOKO3.CSV";6;"";FAUX;"";FAUX)


Peut-on éviter cela et écraser sans demander à chaque fois ?
Quellle serait la syntaxe ou l'option ?

Merci d'avance
--
Paulchen

6 réponses

Avatar
isabelle
bonjour Paul,

il y a un fichier d'aide ici :
http://jost.michel.free.fr/macro-excel4-telechargement.html

Macrofun :Fichier d'aide pour les macros Excel4

ECRAN(valeur_logique)

Valeur_logique représente une valeur logique précisant si la mise à
jour de l'écran doit être activée ou non.

Si l'argument valeur_logique est VRAI, Microsoft Excel active la mise à
jour de l'écran.
Si l'argument valeur_logique est FAUX, Microsoft Excel désactive la
mise à jour de l'écran.
Si l'argument valeur_logique est omis, Microsoft Excel change le
statut de la mise à jour de l'écran.

ou bien

ERREUR(activer_valeur_logique; réf_macro)

Activer_valeur_logique représente une valeur logique ou un nombre qui
active ou désactive le contrôle d'erreur.

Si la valeur de l'argument activer_valeur_logique est FAUX ou 0, tout
contrôle d'erreur est désactivé. Dans ce cas, si une erreur est détectée
pendant l'exécution d'une macro, Microsoft Excel n'en tient pas compte
et continue. Le contrôle d'erreur est réactivé par une instruction
ERREUR(VRAI) ou lorsque la macro se termine.

Si la valeur de l'argument activer_valeur_logique est VRAI ou 1, vous
pouvez soit activer le contrôle d'erreur normal (en omettant l'autre
argument), soit spécifier une macro à exécuter lorsqu'une erreur est
détectée en utilisant l'argument réf_macro. Lorsque le contrôle d'erreur
normal est activé, la boîte de dialogue Erreur macro s'affiche
lorsqu'une erreur est détectée. Vous pouvez alors choisir d'arrêter
l'exécution de la macro, de passer en mode d'exécution pas à pas, de
poursuivre l'exécution normale de la macro ou d'accéder à la cellule
macro dans laquelle l'erreur a été détectée.

Si la valeur de l'argument activer_valeur_logique est 2 et que
l'argument réf_macro est omis, le contrôle d'erreur s'effectue
normalement, sauf si l'utilisateur choisit le bouton "Annuler" dans un
message d'alerte. Dans ce cas, la fonction ERREUR renvoie la valeur FAUX
et la macro n'est pas interrompue.
Si la valeur de l'argument activer_valeur_logique est 2 et que
l'argument réf_macro est spécifié, la macro passe à cette réf_macro
lorsqu'une erreur est détectée. Si l'utilisateur choisit le bouton
"Annuler" dans un message d'alerte, la fonction renvoie la valeur FAUX
et la macro n'est pas interrompue.

Réf_macro indique la macro à exécuter si la valeur de l'argument
activer_valeur_logique est VRAI, 1 ou 2 et qu'une erreur est détectée.
Il peut s'agir du nom de la macro ou d'une référence à une cellule. Si
la valeur de l'argument activer_valeur_logique est FAUX ou 0, la valeur
de l'argument réf_macro n'est pas prise en compte.

isabelle

Paulchen a écrit :
Salut,

J'ai une vieille macro que j'aimerais conserver
(hors VBA dans Excel 2003, ça vient d'Excel 4).

Elle écrit des morceaux de la feuille de calcul en cours vers des CSV.

A chaque fois elle me demande avant d'écraser les anciens fichiers CSV.
Exemple :
=ENREGISTRER.SOUS("WINSOKO3.CSV";6;"";FAUX;"";FAUX)


Peut-on éviter cela et écraser sans demander à chaque fois ?
Quellle serait la syntaxe ou l'option ?

Merci d'avance


Avatar
isabelle
bonjour Paul,

il y a aussi : CACHER.DIALOGUE(FAUX)

isabelle

Paulchen a écrit :
Salut,

J'ai une vieille macro que j'aimerais conserver
(hors VBA dans Excel 2003, ça vient d'Excel 4).

Elle écrit des morceaux de la feuille de calcul en cours vers des CSV.

A chaque fois elle me demande avant d'écraser les anciens fichiers CSV.
Exemple :
=ENREGISTRER.SOUS("WINSOKO3.CSV";6;"";FAUX;"";FAUX)


Peut-on éviter cela et écraser sans demander à chaque fois ?
Quellle serait la syntaxe ou l'option ?

Merci d'avance


Avatar
mugrec75
bonsoir,

ravi de voir que les macros excel4 sont toujours en service (j'ai même
conservé Excel5 pour bénéficier de la fonction Enregistrement avec choix
Excel4)

pour résoudre ton pb, tu insères une ligne avant ENREGISTRER.SOUS...
et une ligne après cette même ligne
pour la 1ère insertion, tu écris =ERREUR(FAUX)
pour la 2ème ligne, tu écris =ERREUR(VRAI)

cordialement

"Paulchen" wrote:

Salut,

J'ai une vieille macro que j'aimerais conserver
(hors VBA dans Excel 2003, ça vient d'Excel 4).

Elle écrit des morceaux de la feuille de calcul en cours vers des CSV.

A chaque fois elle me demande avant d'écraser les anciens fichiers CSV.
Exemple :
=ENREGISTRER.SOUS("WINSOKO3.CSV";6;"";FAUX;"";FAUX)


Peut-on éviter cela et écraser sans demander à chaque fois ?
Quellle serait la syntaxe ou l'option ?

Merci d'avance
--
Paulchen




Avatar
Paulchen
Merci Isabelle,

Ainsi, Excel considère la demande d'écrasement d'un fichier
comme une erreur ?
C'est une piste que je n'avais pas envisagée.

Mais la doc d'Excel 4 ne fait pas mention de CACHER.DIALOGUE(FAUX)
Je vais voir si Excel 2003 comprend ça.
Sinon, reste la piste de ERREUR(xx)
--
Paulchen

"isabelle" a écrit dans le message de news:
%
bonjour Paul,

il y a aussi : CACHER.DIALOGUE(FAUX)

isabelle

Paulchen a écrit :
Salut,

J'ai une vieille macro que j'aimerais conserver
(hors VBA dans Excel 2003, ça vient d'Excel 4).

Elle écrit des morceaux de la feuille de calcul en cours vers des
CSV.

A chaque fois elle me demande avant d'écraser les anciens fichiers
CSV.
Exemple :
=ENREGISTRER.SOUS("WINSOKO3.CSV";6;"";FAUX;"";FAUX)


Peut-on éviter cela et écraser sans demander à chaque fois ?
Quellle serait la syntaxe ou l'option ?

Merci d'avance




Avatar
Paulchen
Merci mugrec75,

Ça devrait marcher.
Il suffisait de comprendre que la demande d'écrasement
était traitée comme une erreur.
--
Paulchen

"mugrec75" a écrit dans le message
de news:
bonsoir,

ravi de voir que les macros excel4 sont toujours en service (j'ai même
conservé Excel5 pour bénéficier de la fonction Enregistrement avec
choix
Excel4)

pour résoudre ton pb, tu insères une ligne avant ENREGISTRER.SOUS...
et une ligne après cette même ligne
pour la 1ère insertion, tu écris =ERREUR(FAUX)
pour la 2ème ligne, tu écris =ERREUR(VRAI)

cordialement

"Paulchen" wrote:

Salut,

J'ai une vieille macro que j'aimerais conserver
(hors VBA dans Excel 2003, ça vient d'Excel 4).

Elle écrit des morceaux de la feuille de calcul en cours vers des
CSV.

A chaque fois elle me demande avant d'écraser les anciens fichiers
CSV.
Exemple :
=ENREGISTRER.SOUS("WINSOKO3.CSV";6;"";FAUX;"";FAUX)


Peut-on éviter cela et écraser sans demander à chaque fois ?
Quellle serait la syntaxe ou l'option ?

Merci d'avance
--
Paulchen






Avatar
Paulchen
Ça marche.
Encore merci à vous deux.
--
Paulchen

"Paulchen" a écrit dans le message de
news: e%
Merci mugrec75,

Ça devrait marcher.
Il suffisait de comprendre que la demande d'écrasement
était traitée comme une erreur.
--
Paulchen

"mugrec75" a écrit dans le
message de news:
bonsoir,

ravi de voir que les macros excel4 sont toujours en service (j'ai
même
conservé Excel5 pour bénéficier de la fonction Enregistrement avec
choix
Excel4)

pour résoudre ton pb, tu insères une ligne avant ENREGISTRER.SOUS...
et une ligne après cette même ligne
pour la 1ère insertion, tu écris =ERREUR(FAUX)
pour la 2ème ligne, tu écris =ERREUR(VRAI)

cordialement

"Paulchen" wrote:

Salut,

J'ai une vieille macro que j'aimerais conserver
(hors VBA dans Excel 2003, ça vient d'Excel 4).

Elle écrit des morceaux de la feuille de calcul en cours vers des
CSV.

A chaque fois elle me demande avant d'écraser les anciens fichiers
CSV.
Exemple :
=ENREGISTRER.SOUS("WINSOKO3.CSV";6;"";FAUX;"";FAUX)


Peut-on éviter cela et écraser sans demander à chaque fois ?
Quellle serait la syntaxe ou l'option ?

Merci d'avance
--
Paulchen