Explication sur les variables?

KyFranRD

XLDnaute Occasionnel
Bonjour à tous...

Quelqu'un pourrait-il m'éclairer sur l'utilité d'appliquer ou pas une variable à une cellule.

Si j'ai bien compris, pour débuter je dois, pour m'obliger à déclarer toutes les variables, mettre "option explicit" dans les déclarations ?

Ensuite, dites moi si je me trompe, par exemple pour un tableau de 3 colonnes avec "Codes", "produits vendues" et "envoyés par la poste" déclarer : dim codes as byte sauf si chiffre>255; dans ce cas je choisi integer? dim produitsVendues as string parce que caractères
dim envoyeparlaposte as boolean parce que oui ou non

Le fait d'appliquer une variable à codes par exemple en colonnes B, déclare t'il comme byte toutes les cellules situés en colonne B? J'avoue que cela est confus.

Quels risques court quelqu'un qui ne déclare pas les variables? Une cellule non déclarée en variable est toujours de type variant et cela est il négatif pour le projet? Le fait de déclarer une ou plusieurs cellules sur excel dans selection format; n'est il pas la même chose?


Voilà cela fait déjà pas mal :eek:

Ah si, dernière petite question..... à quoi cela sert il; comme je l'ai déjà observé, de déclarer par exemple: dim xcell as range
et ensuite de mettre "for each xcell" ...... n'est il pas pareil de mettre " for each range"

merci à l'avance
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Explication sur les variables?

Bonjour.
Si j'ai bien compris, pour débuter je dois, pour m'obliger à déclarer toutes les variables, mettre "option explicit" dans les déclarations ?
Oui. Mais vous ne vous obligez à rien: vous vous dispensez seulement de faires des bêtises et vous documentez un peu le code.
pour un tableau de 3 colonnes avec "Codes", "produits vendues" et "envoyés par la poste" déclarer : dim codes as
Non
VB:
Dim Code() as Long
Le fait d'appliquer une variable à codes par exemple en colonnes B, déclare t'il comme byte toutes les cellules situés en colonne B?
Non. Excel emploie systématiquement Variant/Double pour les Value numériques de cellules.
Quels risques court quelqu'un qui ne déclare pas les variables?
De se tromper dans son orthographe quelque part et de mettre longtemp à comprendre que c'est pris pour une autre, alors pas initialisée. Un conseil : déclarez les avec une majuscule au début. Mais tapez les en minuscule dans le code: si la casse n'est pas corrigée, vous voyez immédiatement qu'elle ne correspond pas à une variable déclarée.
Une cellule non déclarée en variable est toujours de type variant et cela est il négatif pour le projet?
Non. Une cellule se déclare As Range. C'est un objet. C'est sa propriété Value qui est toujours Variant. Pour d'autre variable il est préférable de les typer aussi explicitement. Un variant peut accepter n'importe quoi, y compris ce qu'on n'avait jamais prévu sciemment d'y mettre ! D'où bug plus difficiles à déceler. Et puis en théorie c'est plus long, plus pénalisant de traiter des variants que des données bien typées. Moins d'instructions machines, de tests.
Le fait de déclarer une ou plusieurs cellules sur excel dans selection format; n'est il pas la même chose?
Pas compris la question.
À +
 

KyFranRD

XLDnaute Occasionnel
Re : Explication sur les variables?

Bonjour.Oui. Mais vous ne vous obligez à rien: vous vous dispensez seulement de faires des bêtises et vous documentez un peu le code.Non
VB:
Dim Code() as Long
Non. Excel emploie systématiquement Variant/Double pour les Value numériques de cellules.De se tromper dans son orthographe quelque part et de mettre longtemp à comprendre que c'est pris pour une autre, alors pas initialisée. Un conseil : déclarez les avec une majuscule au début. Mais tapez les en minuscule dans le code: si la casse n'est pas corrigée, vous voyez immédiatement qu'elle ne correspond pas à une variable déclarée.Non. Une cellule se déclare As Range. C'est un objet. C'est sa propriété Value qui est toujours Variant. Pour d'autre variable il est préférable de les typer aussi explicitement. Un variant peut accepter n'importe quoi, y compris ce qu'on n'avait jamais prévu sciemment d'y mettre ! D'où bug plus difficiles à déceler. Et puis en théorie c'est plus long, plus pénalisant de traiter des variants que des données bien typées. Moins d'instructions machines, de tests. Pas compris la question.
À +

Merci Dranreb pour ces réponses.

Je constate que j'ai beaucoup à apprendre. Mais constate mieux à présent l'importance de déclarer les variables de mes 3 projets. Merci encore
 

Discussions similaires