Identifier la variable qui fait overflow
Résolu
borntobealive
Messages postés
138
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Salut,
J'ai une macro VBA qui fait quelque chose d'étrange :
j'appuie sur F5 la macro part s'arrête sur une ligne (tjrs la même) et me met "overflow"
Je regarde les variables de la ligne en question avec add watch, elles ont toutes une valeur donc sans rien changer j'appuie sur F8 et le code s'execute sans problème
Je rappuie donc sur F5 et de temps en temps il s'arrete sur la même ligne ( elle fait partie d'une boucle) en me remettant overflow et je passe la ligne manuellement avec F8.
Question comment identifier la variable qui genere l'overflow ?
J'ai une macro VBA qui fait quelque chose d'étrange :
j'appuie sur F5 la macro part s'arrête sur une ligne (tjrs la même) et me met "overflow"
Je regarde les variables de la ligne en question avec add watch, elles ont toutes une valeur donc sans rien changer j'appuie sur F8 et le code s'execute sans problème
Je rappuie donc sur F5 et de temps en temps il s'arrete sur la même ligne ( elle fait partie d'une boucle) en me remettant overflow et je passe la ligne manuellement avec F8.
Question comment identifier la variable qui genere l'overflow ?
A voir également:
- Identifier la variable qui fait overflow
- Identifier appareil avec adresse mac - Guide
- Comment s'appelle l’adresse qui est attribuée à un appareil quand il se connecte à internet et qui permet de l'identifier sur le réseau ? - Guide
- Identifier un tableau à partir d'une photo - Forum Loisirs / Divertissements
- Call identifier 2.08 - Télécharger - Téléphonie & Visio
- Identifier un objet à partir d'une photo - Guide
3 réponses
On est jamais mieux servi que par soi-même :
On ne peut pas convertir une variable d'un format vers le même format (dans mon cas
blalbla déjà au format date.
Une fois l'erreur corrigé tout roule
des bisoux
On ne peut pas convertir une variable d'un format vers le même format (dans mon cas
Cdat(blabla)
blalbla déjà au format date.
Une fois l'erreur corrigé tout roule
des bisoux
Bonjour,
« On est jamais mieux servi que par soi-même » : C'est parfois vrai mais pas toujours, parfois on le croit et on se persuade d'avoir trouvé la solution,
par exemple : « On ne peut pas convertir une variable d'un format vers le même format » C'est absolument Faux !!!
Ce n'est pas ce qui a provoqué l'overflow (en français, dépassement de capacité).
C'est plutôt une mauvaise utilisation des variables (mauvaise déclaration ou pire, absence de déclaration)!!!
L'overflow se produit lorsqu'on tente d'affecter à une variable une valeur (ou une variable) qu'elle n'est pas capable de contenir (qui dépasse ses capacités)
Pour limiter les erreurs, il est très fortement conseillé de commencer chaque module par :
Cordialement
Patrice
« On est jamais mieux servi que par soi-même » : C'est parfois vrai mais pas toujours, parfois on le croit et on se persuade d'avoir trouvé la solution,
par exemple : « On ne peut pas convertir une variable d'un format vers le même format » C'est absolument Faux !!!
Ce n'est pas ce qui a provoqué l'overflow (en français, dépassement de capacité).
C'est plutôt une mauvaise utilisation des variables (mauvaise déclaration ou pire, absence de déclaration)!!!
L'overflow se produit lorsqu'on tente d'affecter à une variable une valeur (ou une variable) qu'elle n'est pas capable de contenir (qui dépasse ses capacités)
Pour limiter les erreurs, il est très fortement conseillé de commencer chaque module par :
Option Explicit., si cela n'empêche pas une mauvaise affectation qui provoquerait un overflow ça reduit le risque que cela se produise dans une boucle.
Cordialement
Patrice
il n'y avait aucune animosité dans mon propos (j'étais juste content d'avoir trouvé tout seul pour une fois)
je commence toujours par
les classeurs que je traite font exploser mes capacités en permanence ( j'ai déjà du réécrire la moitier de mes procédure pour passer de single à double et de integer à long...) donc je comprend bien ce que veut dire overflow mais il y a quand même eu un avant et un après modification (au pire on supprime le topic si je raconte des âneries comme ça je dérangerai personne)
tendresse et chocolat
je commence toujours par
option.explicitau risque d'alourdir mes procedure parce que j'ai déjà été sermoné sur ce point.
les classeurs que je traite font exploser mes capacités en permanence ( j'ai déjà du réécrire la moitier de mes procédure pour passer de single à double et de integer à long...) donc je comprend bien ce que veut dire overflow mais il y a quand même eu un avant et un après modification (au pire on supprime le topic si je raconte des âneries comme ça je dérangerai personne)
tendresse et chocolat
Bonjour,
Il n'y a pas non plu d'animosité dans mes propos.
Je tenais simplement à préciser (à toi et surtout aux futurs lecteurs de ce post résolu !) que l'origine de ton overflow n'est pas celle que tu donnes.
« convertir une variable d'un format vers le même format » est une opération tout à fait normale qui ne provoque pas d'erreur ni d'overflow,
Par contre il faut être certain que la variable à convertir est du même format (dans ton cas, qu'elle représente bien une date). Il est bien plus probable que le problème vienne de là.
Par exemple, ce n'est pas parce qu'une cellule est au format date qu'elle contient une date, la valeur 21/13/2014 sera un texte et provoquera l'overflow !.
En l'absence du fichier contenant le problème, il n'était pas possible de pousser l'analyse pour trouver la cause réelle.
Cordialement
Patrice
Il n'y a pas non plu d'animosité dans mes propos.
Je tenais simplement à préciser (à toi et surtout aux futurs lecteurs de ce post résolu !) que l'origine de ton overflow n'est pas celle que tu donnes.
« convertir une variable d'un format vers le même format » est une opération tout à fait normale qui ne provoque pas d'erreur ni d'overflow,
Par contre il faut être certain que la variable à convertir est du même format (dans ton cas, qu'elle représente bien une date). Il est bien plus probable que le problème vienne de là.
Par exemple, ce n'est pas parce qu'une cellule est au format date qu'elle contient une date, la valeur 21/13/2014 sera un texte et provoquera l'overflow !.
En l'absence du fichier contenant le problème, il n'était pas possible de pousser l'analyse pour trouver la cause réelle.
Cordialement
Patrice