OVH Cloud OVH Cloud

Des Affaires compliquées !

18 réponses
Avatar
michdenis
Bonjour,


J'ai dans un module standard, cette énorme procédure :

'---------------------------------
Sub Test(Optional s As String)

MsgBox "Bonjour" & Nom

End Sub
'---------------------------------


Je devrais "théoriquement" pouvoir appeler cette procédure de la fenêtre des macros (Ctrl + F8) en inscrivant dans la
ligne de saisie le nom de la macro suivi de la valeur de la variable. Test "denis".

Ma question : Pourquoi cela ne fonctionne pas chez moi, ... le bouton "exécuter" demeure grisé !

P.S. Perso, je n'utilise jamais cela, mais c'est ne pas une raison de ne pas connaître le pourquoi de son
non-fonctionnement !


Merci à ceux qui se pencheront sur le sujet !


Salutations!

8 réponses

1 2
Avatar
michdenis
Bonsoir Daniel,

Actuellement, je suis sur une version Excel 2002 et cela fonctionne très bien.


Salutations!


"Daniel.M" a écrit dans le message de news: %
Bonsoir Denis,

P.S. Je te l'avais bien dit ... Hein Daniel !
;-))


:-)
Je vais te faire une confidence Denis : je n'aurais pas pu le trouver car chez
moi avec XL 2000
'test " Denis"'

ne fonctionne pas. Il n'y a rien qui se passe, le code de la Sub ne s'exécute
pas.

Si j'ai compris, on parle bien d'appuyer sur Alt-F8 et inscrire
'test " Denis"'
(avec ou sans les apostrophes, même résultat) et d'appuyer sur le bouton
Excécuter ("Run" chez moi)

Quelle version d'Excel avez-vous? Cela fonctionne-t-il avec Excel 2000, auquel
cas je vais commencer à virer 'parano'? ;-)

Salutations,

Daniel M.

Avatar
Frédéric Sigonneau
Bonsoir Daniel (et Denis),

J'ai testé cet AM sur un PC avec un Excel 2000 de base (sans aucun SP) et ça
fonctionne tout à fait. Je ne serais d'ailleurs pas étonné que cela fasse de
même avec Excel 97.
Bon, j'ose à peine le suggérer... mais il faut tout de même que la procédure
initiale de Denis, avec son argument optionnel typé, soit présente dans un
module standard du classeur où tu essayes d'exécuter la macro en passant par la
boite de dialogue affichée par Alt+F8.............. ce dont je ne doute pas :)
Et dans ce cas, sans doute est-ce un problème de localisation : ton Excel
anglophone (si j'ai bien lu) a probablement un autre 'passe-partout' que
l'apostrophe pour autoriser ce genre d'opération. Essaye des caractères comme `
ou ¤ ou ~ ou #, voire !.
Avec un peu de patience, tu devrais trouver la bonne 'clé' :)

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

Bonsoir Denis,


P.S. Je te l'avais bien dit ... Hein Daniel !
;-))



:-)
Je vais te faire une confidence Denis : je n'aurais pas pu le trouver car chez
moi avec XL 2000
'test " Denis"'

ne fonctionne pas. Il n'y a rien qui se passe, le code de la Sub ne s'exécute
pas.

Si j'ai compris, on parle bien d'appuyer sur Alt-F8 et inscrire
'test " Denis"'
(avec ou sans les apostrophes, même résultat) et d'appuyer sur le bouton
Excécuter ("Run" chez moi)

Quelle version d'Excel avez-vous? Cela fonctionne-t-il avec Excel 2000, auquel
cas je vais commencer à virer 'parano'? ;-)

Salutations,

Daniel M.






Avatar
JpPradier
Bonsoir à tous

Après un premier essai infructueux : Je n'avais pas vu la deuxième simple quote après l'argument !
Je confirme que ça fonctionne sur Excel 97 et 2002 FR avec ta syntaxe.

j-p
Avatar
Daniel.M
Merci Frédéric.


MaParanoia==> niveau orange ;-) (faut suivre l'actualité américaine pour
comprendre)

OK. Je vais faire quelques autres essais avec des caractères ésotériques.
C'est probablement un problème de localisation. Mais s'il y en a un avec une
copie Excel anglaise version 2000 qui peut faire exécuter (i.e. que les
instructions de Test s'exécutent)
'Test "Denis"'
à partir de la boîte de dialogue des macros (Alt-F8), je déclenche une alerte
niveau rouge. :-)

Salutations,

Daniel M.


"Frédéric Sigonneau" wrote in message
news:
Bonsoir Daniel (et Denis),

J'ai testé cet AM sur un PC avec un Excel 2000 de base (sans aucun SP) et ça
fonctionne tout à fait. Je ne serais d'ailleurs pas étonné que cela fasse de
même avec Excel 97.
Bon, j'ose à peine le suggérer... mais il faut tout de même que la procédure
initiale de Denis, avec son argument optionnel typé, soit présente dans un
module standard du classeur où tu essayes d'exécuter la macro en passant par
la

boite de dialogue affichée par Alt+F8.............. ce dont je ne doute pas :)
Et dans ce cas, sans doute est-ce un problème de localisation : ton Excel
anglophone (si j'ai bien lu) a probablement un autre 'passe-partout' que
l'apostrophe pour autoriser ce genre d'opération. Essaye des caractères comme
`

ou ¤ ou ~ ou #, voire !.
Avec un peu de patience, tu devrais trouver la bonne 'clé' :)

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

Bonsoir Denis,


P.S. Je te l'avais bien dit ... Hein Daniel !
;-))



:-)
Je vais te faire une confidence Denis : je n'aurais pas pu le trouver car
chez


moi avec XL 2000
'test " Denis"'

ne fonctionne pas. Il n'y a rien qui se passe, le code de la Sub ne
s'exécute


pas.

Si j'ai compris, on parle bien d'appuyer sur Alt-F8 et inscrire
'test " Denis"'
(avec ou sans les apostrophes, même résultat) et d'appuyer sur le bouton
Excécuter ("Run" chez moi)

Quelle version d'Excel avez-vous? Cela fonctionne-t-il avec Excel 2000,
auquel


cas je vais commencer à virer 'parano'? ;-)

Salutations,

Daniel M.








Avatar
Alain CROS
Bonjour

Ta méthode fonctionne chez moi sur XL97 et XL2002 mais ne fonctionne pas sur XL2000.
Il y a quelque temps, nous avions eu un échange sur le passage de paramètres par l'intermédiaire de OnTime ou de OnAction et j'avais
fait le même constat, à savoir que ça ne fonctionnais pas chez moi sur XL2000.
Je pense que le problème vient plutôt de la base de registre et de ces clés Option, Option3, etc ...
J'ai constaté que la clé Option5 pour XL 9.0 qui vaut chez moi H91, si je la passe à H481 comme sur XL 8.0, elle revient
systématiquement à H81 après avoir lancé XL2000 ...
Je n'ais pas plus d'explication pour le moment.

Alain CROS

"Frédéric Sigonneau" a écrit dans le message de news:
Bonsoir Daniel (et Denis),

J'ai testé cet AM sur un PC avec un Excel 2000 de base (sans aucun SP) et ça
fonctionne tout à fait. Je ne serais d'ailleurs pas étonné que cela fasse de
même avec Excel 97.
Bon, j'ose à peine le suggérer... mais il faut tout de même que la procédure
initiale de Denis, avec son argument optionnel typé, soit présente dans un
module standard du classeur où tu essayes d'exécuter la macro en passant par la
boite de dialogue affichée par Alt+F8.............. ce dont je ne doute pas :)
Et dans ce cas, sans doute est-ce un problème de localisation : ton Excel
anglophone (si j'ai bien lu) a probablement un autre 'passe-partout' que
l'apostrophe pour autoriser ce genre d'opération. Essaye des caractères comme `
ou ¤ ou ~ ou #, voire !.
Avec un peu de patience, tu devrais trouver la bonne 'clé' :)

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !



Avatar
Daniel.M
Ta méthode fonctionne chez moi sur XL97 et XL2002 mais ne fonctionne pas sur
XL2000.


Ahhhh!
Alerte paranoiaque ==> niveau jaune.

Merci Alain. :-)

Quand même spécial ces différents fonctionnements d'une version (et/ou langue) à
l'autre.

Salutations,

Daniel M.

Avatar
Frédéric Sigonneau
Re Daniel,

Quand même spécial ces différents fonctionnements d'une version
(et/ou langue) à l'autre.


Tout à fait!
Il y a quelques jours j'ai eu une (mauvaise) surprise de la même veine (ie
comportements différents et incompréhensibles d'une version à l'autre, voire
d'un poste à l'autre).
Ça concerne les affectations de macros à des boutons de barres d'outils.
Je ne sais pas si grand monde a remarqué ça mais depuis Excel 2002 il y 2
syntaxes possibles pour affecter une macro à un bouton de barre d'outils. La
classique :
MaBarre.MonBouton.OnAction="MaMacro"
et une nouvelle :
MaBarre.MonBouton.OnAction="!MaMacro"
avec un point d'exclamation devant le nom de la procédure mais entre les guillemets.
Comme l'ancienne fonctionne très bien et est, en plus, plus courte à écrire (un
chou est un chou), je ne me suis pas préoccupé le moins du monde de la nouvelle
syntaxe.
Jusqu'à ce que, sur un poste Excel 2003, on me signale que, sans raison
apparente et après des mois de fonctionnement sans problème, les boutons ne
fonctionnent plus : on clique dessus et il ne se passe rien. J'y vais, je
constate et je passe deux heures avant de m'apercevoir qu'en utilisant la
nouvelle syntaxe ça marche de nouveau !
Etonnant, non ? (P. Desproges)
:)

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

Ta méthode fonctionne chez moi sur XL97 et XL2002 mais ne fonctionne pas sur


XL2000.

Ahhhh!
Alerte paranoiaque ==> niveau jaune.

Merci Alain. :-)

Quand même spécial ces différents fonctionnements d'une version (et/ou langue) à
l'autre.

Salutations,

Daniel M.





Avatar
Daniel.M
Frédéric,

Très étonnant en effet. En plus, c'est le genre de problème qu'il est TRÈS
difficile à trouver AVANT de mettre ton code 'en production'. Et rendu là, ce
sont les usagers qui t'avertissent! :-(

L'idéal serait d'avoir une belle petite page (Wiki) pour documenter ce genre de
différences (pour garder le fil) versions / langues / plateformes.

Salutations,

Daniel M.

"Frédéric Sigonneau" wrote in message
news:
Re Daniel,

Quand même spécial ces différents fonctionnements d'une version
(et/ou langue) à l'autre.


Tout à fait!
Il y a quelques jours j'ai eu une (mauvaise) surprise de la même veine (ie
comportements différents et incompréhensibles d'une version à l'autre, voire
d'un poste à l'autre).
Ça concerne les affectations de macros à des boutons de barres d'outils.
Je ne sais pas si grand monde a remarqué ça mais depuis Excel 2002 il y 2
syntaxes possibles pour affecter une macro à un bouton de barre d'outils. La
classique :
MaBarre.MonBouton.OnAction="MaMacro"
et une nouvelle :
MaBarre.MonBouton.OnAction="!MaMacro"
avec un point d'exclamation devant le nom de la procédure mais entre les
guillemets.

Comme l'ancienne fonctionne très bien et est, en plus, plus courte à écrire
(un

chou est un chou), je ne me suis pas préoccupé le moins du monde de la
nouvelle

syntaxe.
Jusqu'à ce que, sur un poste Excel 2003, on me signale que, sans raison
apparente et après des mois de fonctionnement sans problème, les boutons ne
fonctionnent plus : on clique dessus et il ne se passe rien. J'y vais, je
constate et je passe deux heures avant de m'apercevoir qu'en utilisant la
nouvelle syntaxe ça marche de nouveau !
Etonnant, non ? (P. Desproges)
:)

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !



1 2