OVH Cloud OVH Cloud

CODES VBA

10 réponses
Avatar
PHIL
Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit code vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.

10 réponses

Avatar
Patrick Fredin
Bonjour,

Cela ne veut rien dire du tout. On peut rendre l'expression comme cela :

Pour chaque élément (elt) de 'arr'

Je pense que 'elt' doit être déclaré avec le même type que 'arr'.

--
Patrick

"PHIL" wrote in message
news:
Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit code
vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.




Avatar
PHIL
pourquoi sans l'avoir déclarer mon programme marche quand meme.

merci


Bonjour,

Cela ne veut rien dire du tout. On peut rendre l'expression comme cela :

Pour chaque élément (elt) de 'arr'

Je pense que 'elt' doit être déclaré avec le même type que 'arr'.

--
Patrick

"PHIL" wrote in message
news:
Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit code
vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.









Avatar
Patrick Fredin
Peut-être n'as pas mis l'option qui oblige à déclarer les variables (Option
Explicit).

Dans le cas contraire, oublie ce que je t'ai dit.

--
Patrick

"PHIL" wrote in message
news:
pourquoi sans l'avoir déclarer mon programme marche quand meme.

merci


Bonjour,

Cela ne veut rien dire du tout. On peut rendre l'expression comme cela :

Pour chaque élément (elt) de 'arr'

Je pense que 'elt' doit être déclaré avec le même type que 'arr'.

--
Patrick

"PHIL" wrote in message
news:
Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit
code
vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.











Avatar
LSteph
Bonsoir Phil,
Tu as plusieurs façon de travailler avec VB,
si tu conçois de petites routines tu peux très bien
ne rien déclarer du moment que tu n'utilises pas
Option explicit en début de module MAIS
c'est vite limité car plus long.
Pour schématiser , ce que tu déclare et surtout dont tu définis le type
sera autant d'économisé pour l'exécution
le programme n'aura pas à perdre du temps à deviner.
Si tu veux en savor plus va voir (dans l'aide de VBA):
Byte , string , integer, boolean, long,single, double, ...
sans compter les objets ou
le plus "cher en ressources" Variant (cela dit extrêmement commode)
mais ainsi c'est le plus lourd qui est pris par défaut si tu ne types pas
tes variables.

D'autres plus câlés , t'expliqueraient cela mieux que moi, mais va lire l'
aide c'est pas si mal expliqué en général.

lSteph


"PHIL" a écrit dans le message de news:

pourquoi sans l'avoir déclarer mon programme marche quand meme.

merci


Bonjour,

Cela ne veut rien dire du tout. On peut rendre l'expression comme cela :

Pour chaque élément (elt) de 'arr'

Je pense que 'elt' doit être déclaré avec le même type que 'arr'.

--
Patrick

"PHIL" wrote in message
news:
Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit
code
vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.











Avatar
PHIL
elt en version anglaise s'écrirai comment.

merci


Peut-être n'as pas mis l'option qui oblige à déclarer les variables (Option
Explicit).

Dans le cas contraire, oublie ce que je t'ai dit.

--
Patrick

"PHIL" wrote in message
news:
pourquoi sans l'avoir déclarer mon programme marche quand meme.

merci


Bonjour,

Cela ne veut rien dire du tout. On peut rendre l'expression comme cela :

Pour chaque élément (elt) de 'arr'

Je pense que 'elt' doit être déclaré avec le même type que 'arr'.

--
Patrick

"PHIL" wrote in message
news:
Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit
code
vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.
















Avatar
PHIL
que deviendrai sheets(elt), enversion anglaise?
merci

"PHIL" wrote:

pourquoi sans l'avoir déclarer mon programme marche quand meme.

merci


Bonjour,

Cela ne veut rien dire du tout. On peut rendre l'expression comme cela :

Pour chaque élément (elt) de 'arr'

Je pense que 'elt' doit être déclaré avec le même type que 'arr'.

--
Patrick

"PHIL" wrote in message
news:
Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit code
vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.











Avatar
FxM
elt en version anglaise s'écrirai comment.

merci



Le nom des variables n'est pas concerné par les traductions tant que tu
n'utilises pas des caractères bizarres (accentués par exemple).

Ainsi, tant que tu nommes toujours ta variable avec la même orthographe
et qu'elle ne serve pas à autre chose dans la même macro ....

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next elt

... est équivalent à
For Each a In arr
Sheets(a).Range(Adr).EntireRow.Delete (xlUp)
Next a

... à
For Each zorbu In arr
Sheets(zorbu).Range(Adr).EntireRow.Delete (xlUp)
Next zorbu

... ou encore à
For Each def45312IONFrtghsj In arr
Sheets(def45312IONFrtghsj).Range(Adr).EntireRow.Delete (xlUp)
Next def45312IONFrtghsj

@+
FxM

Avatar
PHIL
merci



Bonsoir Phil,
Tu as plusieurs façon de travailler avec VB,
si tu conçois de petites routines tu peux très bien
ne rien déclarer du moment que tu n'utilises pas
Option explicit en début de module MAIS
c'est vite limité car plus long.
Pour schématiser , ce que tu déclare et surtout dont tu définis le type
sera autant d'économisé pour l'exécution
le programme n'aura pas à perdre du temps à deviner.
Si tu veux en savor plus va voir (dans l'aide de VBA):
Byte , string , integer, boolean, long,single, double, ...
sans compter les objets ou
le plus "cher en ressources" Variant (cela dit extrêmement commode)
mais ainsi c'est le plus lourd qui est pris par défaut si tu ne types pas
tes variables.

D'autres plus câlés , t'expliqueraient cela mieux que moi, mais va lire l'
aide c'est pas si mal expliqué en général.

lSteph


"PHIL" a écrit dans le message de news:

pourquoi sans l'avoir déclarer mon programme marche quand meme.

merci


Bonjour,

Cela ne veut rien dire du tout. On peut rendre l'expression comme cela :

Pour chaque élément (elt) de 'arr'

Je pense que 'elt' doit être déclaré avec le même type que 'arr'.

--
Patrick

"PHIL" wrote in message
news:
Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit
code
vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.
















Avatar
Gaenonius
elt en version anglaise s'écrirai comment.


elt est une variable, apparemment non déclarée ce qui veut dire que tu
n'utilises pas l'option Explicit et que par conséquent elle est en fait déclarée
implicitement de type Variant.
Le nom d'une variable est totalement indifférent à Excel, à partir du moment où
ce nom respecte certaines règles expliquées dans l'aide.
Il n'y a aucune raison de "traduire" le nom d'une variable selon la langue de
l'utilisateur qui va exécuter ton programme.
Si c'est pour commenter le code à quelqu'un qui est anglophone, je dirais que
elt semble un "raccourci contracté" du mot élément, lequel se traduit en anglais
par element..ce qui me semble assez facile à faire comprendre à un anglophone.

--
Gaenonius

elt en version anglaise s'écrirai comment.

merci



Peut-être n'as pas mis l'option qui oblige à déclarer les variables (Option
Explicit).

Dans le cas contraire, oublie ce que je t'ai dit.

--
Patrick

"PHIL" wrote in message
news:

pourquoi sans l'avoir déclarer mon programme marche quand meme.

merci



Bonjour,

Cela ne veut rien dire du tout. On peut rendre l'expression comme cela :

Pour chaque élément (elt) de 'arr'

Je pense que 'elt' doit être déclaré avec le même type que 'arr'.

--
Patrick

"PHIL" wrote in message
news:

Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit
code
vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.

















Avatar
Gaenonius
que deviendrai sheets(elt), enversion anglaise?


La même chose (voir post de FxM et le mien en réponse à ton message de 22:29).

--
Gaenonius

que deviendrai sheets(elt), enversion anglaise?
merci

"PHIL" wrote:


pourquoi sans l'avoir déclarer mon programme marche quand meme.

merci



Bonjour,

Cela ne veut rien dire du tout. On peut rendre l'expression comme cela :

Pour chaque élément (elt) de 'arr'

Je pense que 'elt' doit être déclaré avec le même type que 'arr'.

--
Patrick

"PHIL" wrote in message
news:

Bonsoir,
dernièrement l'un des contribueurs m'a donnée sur ce forum un petit code
vba.

dont une partie du programme est :

For Each elt In arr
Sheets(elt).Range(Adr).EntireRow.Delete (xlUp)
Next
arr est bien declaré, mais "elt" n'est pas déclaré.
que veut bien dire le terme "elt".

merci
de votre aide.