Juste des Questions sur l'utilisation de VBA dans Excel .
Je m'explique, depuis 3 jours j'ai décidé de découvrir "la langue de VBA
!!!". Je m'aide d'une revue nommée "Compétence_Micro".
Je tourne la page 19 et j'ai déjà des interrogations :
Comment faite vous pour choisir si vos codes seront "Direct" ou "Indirect"
???
Utilisez-vous dans vos codes le numéro de ligne, Style:
10 Sub votre_nom
20 nom= Intput ...
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle
exactement ???
Je vous remercie de me lire et bien-sûr de me répondre
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonjour,
-Il y a bien longtemps que les nos de lignes ne sont plus utilisés en Basic. En théorie, on peut utiliser des étiquettes ( monEtiq: e.g. et les référencer avec Goto MonEtiq) . Dans la pratique, on évite de les utiliser (mauvaise lisibilité du programme).
-Les variables Static conservent leur valeur lorsqu'une procédure par exemple est appelée plusieurs fois.
Sub essai() essai2 essai2 End Sub
Sub essai2() Static m As Integer m = m + 1 MsgBox m End Sub
Pour obtenir de l'aide sur un mot clé VBA, le sélectionner puis F1.
sur http://www.excelabo.net , il y a un chapitre d'initiation au VBA.
Cordialement JB
Bonjour,
-Il y a bien longtemps que les nos de lignes ne sont plus utilisés en
Basic. En théorie, on peut utiliser des étiquettes ( monEtiq: e.g.
et les référencer avec Goto MonEtiq) . Dans la pratique, on évite de
les utiliser (mauvaise lisibilité du programme).
-Les variables Static conservent leur valeur lorsqu'une procédure par
exemple est appelée plusieurs fois.
Sub essai()
essai2
essai2
End Sub
Sub essai2()
Static m As Integer
m = m + 1
MsgBox m
End Sub
Pour obtenir de l'aide sur un mot clé VBA, le sélectionner puis F1.
sur http://www.excelabo.net , il y a un chapitre d'initiation au VBA.
-Il y a bien longtemps que les nos de lignes ne sont plus utilisés en Basic. En théorie, on peut utiliser des étiquettes ( monEtiq: e.g. et les référencer avec Goto MonEtiq) . Dans la pratique, on évite de les utiliser (mauvaise lisibilité du programme).
-Les variables Static conservent leur valeur lorsqu'une procédure par exemple est appelée plusieurs fois.
Sub essai() essai2 essai2 End Sub
Sub essai2() Static m As Integer m = m + 1 MsgBox m End Sub
Pour obtenir de l'aide sur un mot clé VBA, le sélectionner puis F1.
sur http://www.excelabo.net , il y a un chapitre d'initiation au VBA.
Cordialement JB
Clément Marcotte
Bonjour,
Comment faite vous pour choisir si vos codes seront "Direct" ou "Indirect" ???
Comme je n'ai pas la revue en question, je ne sais pas à quoi ils font référence.
Utilisez-vous dans vos codes le numéro de ligne, Style: 10 Sub votre_nom 20 nom= Intput ...
Les numéros de lignes sont complètement inutiles en "bonne programmation en VBA" sauf pour indiquer la place où se trouve le gestionnaire d'erreur. Encore qu'une étiquette puisse très bien remplacer les chiffres.
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle exactement ???
Les valeurs des variables sont remises par défaut à zéro entre chaque exécution d'une procédure. Si une variable est afflubée de l'instruction Static, la variable en question conserve sa valeur entre deux appels de la procédure. (À manier avec précautions.)
Bonjour,
Comment faite vous pour choisir si vos codes seront "Direct" ou "Indirect"
???
Comme je n'ai pas la revue en question, je ne sais pas à quoi ils font
référence.
Utilisez-vous dans vos codes le numéro de ligne, Style:
10 Sub votre_nom
20 nom= Intput ...
Les numéros de lignes sont complètement inutiles en "bonne programmation en
VBA" sauf pour indiquer la place où se trouve le gestionnaire d'erreur.
Encore qu'une étiquette puisse très bien remplacer les chiffres.
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle
exactement ???
Les valeurs des variables sont remises par défaut à zéro entre chaque
exécution d'une procédure. Si une variable est afflubée de l'instruction
Static, la variable en question conserve sa valeur entre deux appels de la
procédure. (À manier avec précautions.)
Comment faite vous pour choisir si vos codes seront "Direct" ou "Indirect" ???
Comme je n'ai pas la revue en question, je ne sais pas à quoi ils font référence.
Utilisez-vous dans vos codes le numéro de ligne, Style: 10 Sub votre_nom 20 nom= Intput ...
Les numéros de lignes sont complètement inutiles en "bonne programmation en VBA" sauf pour indiquer la place où se trouve le gestionnaire d'erreur. Encore qu'une étiquette puisse très bien remplacer les chiffres.
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle exactement ???
Les valeurs des variables sont remises par défaut à zéro entre chaque exécution d'une procédure. Si une variable est afflubée de l'instruction Static, la variable en question conserve sa valeur entre deux appels de la procédure. (À manier avec précautions.)
phil.aline.naudin
Merci pour vos réponses, Pour Direct ou Indirect l'auteur précise que VBA nous donne la possibilité de déclarer une variable de façon "Direct" ou "Indirect". Il précise par ailleurs que les vrais Programmeurs n'utilisent que la méthode "Direct". Elle est moins gourmande, oblige une vraie réflexion avant la saisie du code sur le robot, ... Si j'ai bien compris cette façon utilise la commande "DIM" En espérant être plus clair sur mes interrogations.4
Merci "Clément Marcotte" a écrit dans le message de news:
Bonjour,
Comment faite vous pour choisir si vos codes seront "Direct" ou "Indirect" ???
Comme je n'ai pas la revue en question, je ne sais pas à quoi ils font référence.
Utilisez-vous dans vos codes le numéro de ligne, Style: 10 Sub votre_nom 20 nom= Intput ...
Les numéros de lignes sont complètement inutiles en "bonne programmation en VBA" sauf pour indiquer la place où se trouve le gestionnaire d'erreur. Encore qu'une étiquette puisse très bien remplacer les chiffres.
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle exactement ???
Les valeurs des variables sont remises par défaut à zéro entre chaque exécution d'une procédure. Si une variable est afflubée de l'instruction Static, la variable en question conserve sa valeur entre deux appels de la procédure. (À manier avec précautions.)
Merci pour vos réponses,
Pour Direct ou Indirect l'auteur précise que VBA nous donne la possibilité
de déclarer une variable de façon "Direct" ou "Indirect". Il précise par
ailleurs que les vrais Programmeurs n'utilisent que la méthode "Direct".
Elle est moins gourmande, oblige une vraie réflexion avant la saisie du code
sur le robot, ...
Si j'ai bien compris cette façon utilise la commande "DIM"
En espérant être plus clair sur mes interrogations.4
Merci
"Clément Marcotte" <clement.marcotte@sympatico.ca> a écrit dans le message
de news: uyA37L0LGHA.360@TK2MSFTNGP12.phx.gbl...
Bonjour,
Comment faite vous pour choisir si vos codes seront "Direct" ou
"Indirect" ???
Comme je n'ai pas la revue en question, je ne sais pas à quoi ils font
référence.
Utilisez-vous dans vos codes le numéro de ligne, Style:
10 Sub votre_nom
20 nom= Intput ...
Les numéros de lignes sont complètement inutiles en "bonne programmation
en VBA" sauf pour indiquer la place où se trouve le gestionnaire d'erreur.
Encore qu'une étiquette puisse très bien remplacer les chiffres.
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle
exactement ???
Les valeurs des variables sont remises par défaut à zéro entre chaque
exécution d'une procédure. Si une variable est afflubée de l'instruction
Static, la variable en question conserve sa valeur entre deux appels de la
procédure. (À manier avec précautions.)
Merci pour vos réponses, Pour Direct ou Indirect l'auteur précise que VBA nous donne la possibilité de déclarer une variable de façon "Direct" ou "Indirect". Il précise par ailleurs que les vrais Programmeurs n'utilisent que la méthode "Direct". Elle est moins gourmande, oblige une vraie réflexion avant la saisie du code sur le robot, ... Si j'ai bien compris cette façon utilise la commande "DIM" En espérant être plus clair sur mes interrogations.4
Merci "Clément Marcotte" a écrit dans le message de news:
Bonjour,
Comment faite vous pour choisir si vos codes seront "Direct" ou "Indirect" ???
Comme je n'ai pas la revue en question, je ne sais pas à quoi ils font référence.
Utilisez-vous dans vos codes le numéro de ligne, Style: 10 Sub votre_nom 20 nom= Intput ...
Les numéros de lignes sont complètement inutiles en "bonne programmation en VBA" sauf pour indiquer la place où se trouve le gestionnaire d'erreur. Encore qu'une étiquette puisse très bien remplacer les chiffres.
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle exactement ???
Les valeurs des variables sont remises par défaut à zéro entre chaque exécution d'une procédure. Si une variable est afflubée de l'instruction Static, la variable en question conserve sa valeur entre deux appels de la procédure. (À manier avec précautions.)
Clément Marcotte
Bonjour
O.K.
Pour Direct ou Indirect l'auteur précise que VBA nous donne la possibilité de déclarer une variable de façon "Direct" ou "Indirect". L'ensemble de la communauté des programmeurs VB utilisent le expressions
explicite et implicite à la place de ces mots barbares.
Quand une variable est déclarée de façon implicite, elle est créée au moment de son utilisation. L'avantage, si on peut dire, c'est la souplesse de programmation. L'inconvénient étant le risque de créer des horreurs difficiles à dépister, du genre
sien = 15 sein = sien + 1
Au lieu d'avoir une variable sien égale à 16 on se retrouve avec deux variables différentes, et c'est la mauvaise qui vaut 16. Ceci sans compter que chaque variable de type Variant bouffe un minimum de 20 octets de mémoire et ralentit l'exécution du programme.
Si on opte pour la déclaration explicite des variables, le programme va planter dès qu'il va trouver une variable non déclarée. Cela oblige donc à décider si cela prend vraiment 2 variables et à déclarer les deux, ou s'il faut juste corriger l'orthographe...
Il précise par ailleurs que les vrais Programmeurs n'utilisent que la méthode "Direct". Elle est moins gourmande, oblige une vraie réflexion avant la saisie du code sur le robot, ...
Ça c'est vrai en partie. Une variable, non explicitement déclarée, prend le type Variant (minimum de 20 octets), par défaut. Ceci dit, en héritage du BASIC d'origine, on peut, mais pas dans tous les cas, et même en déclaration implite, définir le type de données.
Par exemple, sans dim:
jps = 34. (Dans ce cas, jps est de type variant) jps% = 34 (Dans ce cas jps est de type Integer (nombres entiers seulement) jps& = 34 (Dans ce cas jps est de type Long (un autre type de nombres entiers) jps$ = "Vin" (Dans ce cas jps est une chaîne de caractères)
Mais dans les faits, on peu aussi avoir
dim jps, jps%,jps&,jps$ et les avoir déclarés quand même déclarés explicitement.
Cela fait donc que l'affirmation du magazine reste un peu de type"Broche à foin"
Bonjour
O.K.
Pour Direct ou Indirect l'auteur précise que VBA nous donne la possibilité
de déclarer une variable de façon "Direct" ou "Indirect".
L'ensemble de la communauté des programmeurs VB utilisent le expressions
explicite et implicite à la place de ces mots barbares.
Quand une variable est déclarée de façon implicite, elle est créée au moment
de son utilisation. L'avantage, si on peut dire, c'est la souplesse de
programmation. L'inconvénient étant le risque de créer des horreurs
difficiles à dépister, du genre
sien = 15
sein = sien + 1
Au lieu d'avoir une variable sien égale à 16 on se retrouve avec deux
variables différentes, et c'est la mauvaise qui vaut 16. Ceci sans compter
que chaque variable de type Variant bouffe un minimum de 20 octets de
mémoire et ralentit l'exécution du programme.
Si on opte pour la déclaration explicite des variables, le programme va
planter dès qu'il va trouver une variable non déclarée. Cela oblige donc à
décider si cela prend vraiment 2 variables et à déclarer les deux, ou s'il
faut juste corriger l'orthographe...
Il précise par ailleurs que les vrais Programmeurs n'utilisent que la
méthode "Direct". Elle est moins gourmande, oblige une vraie réflexion
avant la saisie du code sur le robot, ...
Ça c'est vrai en partie. Une variable, non explicitement déclarée, prend le
type Variant (minimum de 20 octets), par défaut. Ceci dit, en héritage du
BASIC d'origine, on peut, mais pas dans tous les cas, et même en déclaration
implite, définir le type de données.
Par exemple, sans dim:
jps = 34. (Dans ce cas, jps est de type variant)
jps% = 34 (Dans ce cas jps est de type Integer (nombres entiers seulement)
jps& = 34 (Dans ce cas jps est de type Long (un autre type de nombres
entiers)
jps$ = "Vin" (Dans ce cas jps est une chaîne de caractères)
Mais dans les faits, on peu aussi avoir
dim jps, jps%,jps&,jps$ et les avoir déclarés quand même déclarés
explicitement.
Cela fait donc que l'affirmation du magazine reste un peu de type"Broche à
foin"
Pour Direct ou Indirect l'auteur précise que VBA nous donne la possibilité de déclarer une variable de façon "Direct" ou "Indirect". L'ensemble de la communauté des programmeurs VB utilisent le expressions
explicite et implicite à la place de ces mots barbares.
Quand une variable est déclarée de façon implicite, elle est créée au moment de son utilisation. L'avantage, si on peut dire, c'est la souplesse de programmation. L'inconvénient étant le risque de créer des horreurs difficiles à dépister, du genre
sien = 15 sein = sien + 1
Au lieu d'avoir une variable sien égale à 16 on se retrouve avec deux variables différentes, et c'est la mauvaise qui vaut 16. Ceci sans compter que chaque variable de type Variant bouffe un minimum de 20 octets de mémoire et ralentit l'exécution du programme.
Si on opte pour la déclaration explicite des variables, le programme va planter dès qu'il va trouver une variable non déclarée. Cela oblige donc à décider si cela prend vraiment 2 variables et à déclarer les deux, ou s'il faut juste corriger l'orthographe...
Il précise par ailleurs que les vrais Programmeurs n'utilisent que la méthode "Direct". Elle est moins gourmande, oblige une vraie réflexion avant la saisie du code sur le robot, ...
Ça c'est vrai en partie. Une variable, non explicitement déclarée, prend le type Variant (minimum de 20 octets), par défaut. Ceci dit, en héritage du BASIC d'origine, on peut, mais pas dans tous les cas, et même en déclaration implite, définir le type de données.
Par exemple, sans dim:
jps = 34. (Dans ce cas, jps est de type variant) jps% = 34 (Dans ce cas jps est de type Integer (nombres entiers seulement) jps& = 34 (Dans ce cas jps est de type Long (un autre type de nombres entiers) jps$ = "Vin" (Dans ce cas jps est une chaîne de caractères)
Mais dans les faits, on peu aussi avoir
dim jps, jps%,jps&,jps$ et les avoir déclarés quand même déclarés explicitement.
Cela fait donc que l'affirmation du magazine reste un peu de type"Broche à foin"
"phil.aline.naudin" a écrit dans le message de news: 43ee418a$0$29181$
Merci pour vos réponses, Pour Direct ou Indirect l'auteur précise que VBA nous donne la possibilité de déclarer une variable de façon "Direct" ou "Indirect". Il précise par ailleurs que les vrais Programmeurs n'utilisent que la méthode "Direct". Elle est moins gourmande, oblige une vraie réflexion avant la saisie du code sur le robot, ... Si j'ai bien compris cette façon utilise la commande "DIM" En espérant être plus clair sur mes interrogations.4
Merci "Clément Marcotte" a écrit dans le message de news:
Bonjour,
Comment faite vous pour choisir si vos codes seront "Direct" ou "Indirect" ???
Comme je n'ai pas la revue en question, je ne sais pas à quoi ils font référence.
Utilisez-vous dans vos codes le numéro de ligne, Style: 10 Sub votre_nom 20 nom= Intput ...
Les numéros de lignes sont complètement inutiles en "bonne programmation en VBA" sauf pour indiquer la place où se trouve le gestionnaire d'erreur. Encore qu'une étiquette puisse très bien remplacer les chiffres.
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle exactement ???
Les valeurs des variables sont remises par défaut à zéro entre chaque exécution d'une procédure. Si une variable est afflubée de l'instruction Static, la variable en question conserve sa valeur entre deux appels de la procédure. (À manier avec précautions.)
"phil.aline.naudin" <phil.aline.naudin@wanadoo.fr> a écrit dans le message
de news: 43ee418a$0$29181$8fcfb975@news.wanadoo.fr...
Merci pour vos réponses,
Pour Direct ou Indirect l'auteur précise que VBA nous donne la possibilité
de déclarer une variable de façon "Direct" ou "Indirect". Il précise par
ailleurs que les vrais Programmeurs n'utilisent que la méthode "Direct".
Elle est moins gourmande, oblige une vraie réflexion avant la saisie du
code sur le robot, ...
Si j'ai bien compris cette façon utilise la commande "DIM"
En espérant être plus clair sur mes interrogations.4
Merci
"Clément Marcotte" <clement.marcotte@sympatico.ca> a écrit dans le message
de news: uyA37L0LGHA.360@TK2MSFTNGP12.phx.gbl...
Bonjour,
Comment faite vous pour choisir si vos codes seront "Direct" ou
"Indirect" ???
Comme je n'ai pas la revue en question, je ne sais pas à quoi ils font
référence.
Utilisez-vous dans vos codes le numéro de ligne, Style:
10 Sub votre_nom
20 nom= Intput ...
Les numéros de lignes sont complètement inutiles en "bonne programmation
en VBA" sauf pour indiquer la place où se trouve le gestionnaire
d'erreur. Encore qu'une étiquette puisse très bien remplacer les
chiffres.
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle
exactement ???
Les valeurs des variables sont remises par défaut à zéro entre chaque
exécution d'une procédure. Si une variable est afflubée de l'instruction
Static, la variable en question conserve sa valeur entre deux appels de
la procédure. (À manier avec précautions.)
"phil.aline.naudin" a écrit dans le message de news: 43ee418a$0$29181$
Merci pour vos réponses, Pour Direct ou Indirect l'auteur précise que VBA nous donne la possibilité de déclarer une variable de façon "Direct" ou "Indirect". Il précise par ailleurs que les vrais Programmeurs n'utilisent que la méthode "Direct". Elle est moins gourmande, oblige une vraie réflexion avant la saisie du code sur le robot, ... Si j'ai bien compris cette façon utilise la commande "DIM" En espérant être plus clair sur mes interrogations.4
Merci "Clément Marcotte" a écrit dans le message de news:
Bonjour,
Comment faite vous pour choisir si vos codes seront "Direct" ou "Indirect" ???
Comme je n'ai pas la revue en question, je ne sais pas à quoi ils font référence.
Utilisez-vous dans vos codes le numéro de ligne, Style: 10 Sub votre_nom 20 nom= Intput ...
Les numéros de lignes sont complètement inutiles en "bonne programmation en VBA" sauf pour indiquer la place où se trouve le gestionnaire d'erreur. Encore qu'une étiquette puisse très bien remplacer les chiffres.
Il ya un petit chapitre sur une commande nommée "Static" que fait-elle exactement ???
Les valeurs des variables sont remises par défaut à zéro entre chaque exécution d'une procédure. Si une variable est afflubée de l'instruction Static, la variable en question conserve sa valeur entre deux appels de la procédure. (À manier avec précautions.)