Bug fonction VBA qui retourne erreur 438
Résolu
Shaarlun
-
f894009 Messages postés 17413 Statut Membre -
f894009 Messages postés 17413 Statut Membre -
Bonjour,
Je travaille sur un fichier VBA et j'ai une erreur que je n'arrive absolument pas à résoudre :
La fonction format() dans mon code VBA ne marche plus. Le code est ultra simple :
Format(Now, "dd.mm.yy").
Pourtant j'ai une erreur 438 qui m'est retourné.
Ci joint la capture d'écran de mon code : http://www.cjoint.com/c/ELej6JUHJAD
Je précise que cela vient exclusivement de ce fichier puisque si j'ouvre un autre fichier, je n'ai aucun problème.
J'ai regardé les références et rien n'est à signaler de ce coté.
Auriez vous une piste pour m'aider ?
Merci !
Je travaille sur un fichier VBA et j'ai une erreur que je n'arrive absolument pas à résoudre :
La fonction format() dans mon code VBA ne marche plus. Le code est ultra simple :
Format(Now, "dd.mm.yy").
Pourtant j'ai une erreur 438 qui m'est retourné.
Ci joint la capture d'écran de mon code : http://www.cjoint.com/c/ELej6JUHJAD
Je précise que cela vient exclusivement de ce fichier puisque si j'ouvre un autre fichier, je n'ai aucun problème.
J'ai regardé les références et rien n'est à signaler de ce coté.
Auriez vous une piste pour m'aider ?
Merci !
A voir également:
- Bug fonction VBA qui retourne erreur 438
- Fonction si et - Guide
- Ecran retourne - Guide
- Bug chromecast - Guide
- Iptv bug ✓ - Forum TV & Vidéo
- Iptv bug forum ✓ - Forum Box et Streaming vidéo
5 réponses
Bonjour,
En effet
Par contre, il y a quelque chose d'anormale sur la ligne du point d'arret: range le r est en minuscule pas en majuscule !!!!!!!!!!!!!!!!!!!!
En effet
toto = Format(Now(), "dd.mm.yy"), c'est ok, si vous ne mettez le
Dim toto as Date, le format est zapper et vous aurez 04:12:15
Par contre, il y a quelque chose d'anormale sur la ligne du point d'arret: range le r est en minuscule pas en majuscule !!!!!!!!!!!!!!!!!!!!
Merci pour cette réponse.
Néanmoins, le point d'arrêt est un "détail" puisque la fonction n'arrive pas à trouver la variable "toto" (et ici le range est faux puisque je ne l'attribue à aucune feuille) --> Erreur 438
Que cette variable soit déclaré en date, variante ou rien, j'obtiens erreur 438.
Néanmoins, le point d'arrêt est un "détail" puisque la fonction n'arrive pas à trouver la variable "toto" (et ici le range est faux puisque je ne l'attribue à aucune feuille) --> Erreur 438
Que cette variable soit déclaré en date, variante ou rien, j'obtiens erreur 438.
Le problème vient réellement de la fonction format puisque ce code :
Ne marche pas non plus (même erreur).
toto = Format(5, "0.00%")
Ne marche pas non plus (même erreur).
Re,
A mon tour d'etre desole, mais
Je suis désolé mais ceci n'est forcément vrai. En effet,range("A1") = now marche
Jusqu'a aujoud'hui, l'interpreteur VBA passe la premiere lettre des instructions Excel (pour ce cas) en majuscule, si ce n'est pas le cas il y a un probleme soit de syntaxe ou de votre Excel
A mon tour d'etre desole, mais
Je suis désolé mais ceci n'est forcément vrai. En effet,range("A1") = now marche
Jusqu'a aujoud'hui, l'interpreteur VBA passe la premiere lettre des instructions Excel (pour ce cas) en majuscule, si ce n'est pas le cas il y a un probleme soit de syntaxe ou de votre Excel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ayé !
Je viens enfin de trouver le bug. En faite, le problème était relativement simple et logique mais fallait regarder ailleurs que sur le code.
A un moment, je me suis retrouvé à renommer les noms des objets dans le menu VBA (ceux disponible dans le menu editeur VBA --> VBA project --> Microsoft Excel Objets). Or l'un de mes onglets a pris le nom de "Format".
Ainsi, lorsque j'appelais ce que je croyais être la fonction format, Excel souhaitait me donner les fonctions liés à une feuille et me donnait donc le message d'erreur 438.
PS : le range continue à ne pas me mettre de majuscule au début de ligne mais ça n'empeche en rien les calculs, écriture et lecture
Je viens enfin de trouver le bug. En faite, le problème était relativement simple et logique mais fallait regarder ailleurs que sur le code.
A un moment, je me suis retrouvé à renommer les noms des objets dans le menu VBA (ceux disponible dans le menu editeur VBA --> VBA project --> Microsoft Excel Objets). Or l'un de mes onglets a pris le nom de "Format".
Ainsi, lorsque j'appelais ce que je croyais être la fonction format, Excel souhaitait me donner les fonctions liés à une feuille et me donnait donc le message d'erreur 438.
PS : le range continue à ne pas me mettre de majuscule au début de ligne mais ça n'empeche en rien les calculs, écriture et lecture