OVH Cloud OVH Cloud

Besoin d'un conseil de Pro

9 réponses
Avatar
Eric Tremblay
Bonjour =E0 tous et =E0 toutes,

J'ai du code dans une Feuille o=F9 j'utilise principalement=20
Worksheet_Change pour obtenir la cellule o=F9 il y a eu un=20
changement. Cela fonctionne tr=E8s bien, mais le probl=E8me=20
est que cela est difficile =E0 lire du fait qu'il y a pr=E8s=20
d'une centaine de lignes de code.

J'aimerais r=E9duire mon code au maximum, mais lorsque je=20
tente d'utiliser des Call vers d'autres proc=E9dures.. eh=20
bien les variables ne suivent pas, car des proc=E9dures ne=20
retournent pas de valeurs. J'ai tent=E9 d'utiliser des=20
fonctions, mais la mani=E8re dont mon application est=20
mont=E9e, les m=EAmes variables changent de valeurs s'il y a=20
un changement dans une plage de s=E9lection sp=E9cifique.

Avez-vous de suggestions?

Merci

9 réponses

Avatar
Dédé
Salut Eric !

Et si tu nous donnais ton code ;-) ??

Dans l'attente de ta prochaine réponse ...

Salutations
Dédé

"Eric Tremblay" a écrit dans le
message de news:006701c4d8a6$1b3ed590$
Bonjour à tous et à toutes,

J'ai du code dans une Feuille où j'utilise principalement
Worksheet_Change pour obtenir la cellule où il y a eu un
changement. Cela fonctionne très bien, mais le problème
est que cela est difficile à lire du fait qu'il y a près
d'une centaine de lignes de code.

J'aimerais réduire mon code au maximum, mais lorsque je
tente d'utiliser des Call vers d'autres procédures.. eh
bien les variables ne suivent pas, car des procédures ne
retournent pas de valeurs. J'ai tenté d'utiliser des
fonctions, mais la manière dont mon application est
montée, les mêmes variables changent de valeurs s'il y a
un changement dans une plage de sélection spécifique.

Avez-vous de suggestions?

Merci
Avatar
Joël GARBE
Bonsoir,

Evidemment, dit comme ça ! c'est pas très clair ;-)

Le problème des variables semble à étudier de près, mais qu'y a-t-il
derrière ce code, qui je suppose, est là pour vérifier la validité de la
saisie ?
--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Eric Tremblay" a écrit dans le
message de news: 006701c4d8a6$1b3ed590$
Bonjour à tous et à toutes,

J'ai du code dans une Feuille où j'utilise principalement
Worksheet_Change pour obtenir la cellule où il y a eu un
changement. Cela fonctionne très bien, mais le problème
est que cela est difficile à lire du fait qu'il y a près
d'une centaine de lignes de code.

J'aimerais réduire mon code au maximum, mais lorsque je
tente d'utiliser des Call vers d'autres procédures.. eh
bien les variables ne suivent pas, car des procédures ne
retournent pas de valeurs. J'ai tenté d'utiliser des
fonctions, mais la manière dont mon application est
montée, les mêmes variables changent de valeurs s'il y a
un changement dans une plage de sélection spécifique.

Avez-vous de suggestions?

Merci
Avatar
Clément Marcotte
Bonjour,

Tu peux déclarer tes variables publiques en mettant

public la liste de variables en entête d'un module Standard.

En faisant attention
1) de ne pas mettre deux variables du même nom dans toput mle projet.
2) De ne pas modifier une valeur accidentellement.

Ou, en passant des paramètres d'une procédure à une autre.


"Eric Tremblay" a écrit dans le
message de news:006701c4d8a6$1b3ed590$
Bonjour à tous et à toutes,

J'ai du code dans une Feuille où j'utilise principalement
Worksheet_Change pour obtenir la cellule où il y a eu un
changement. Cela fonctionne très bien, mais le problème
est que cela est difficile à lire du fait qu'il y a près
d'une centaine de lignes de code.

J'aimerais réduire mon code au maximum, mais lorsque je
tente d'utiliser des Call vers d'autres procédures.. eh
bien les variables ne suivent pas, car des procédures ne
retournent pas de valeurs. J'ai tenté d'utiliser des
fonctions, mais la manière dont mon application est
montée, les mêmes variables changent de valeurs s'il y a
un changement dans une plage de sélection spécifique.

Avez-vous de suggestions?

Merci
Avatar
Eric Tremblay
Dédé,

j'ai beaucoup trop de lignes, mais comme le proposait
Clément, de déclarer des variables Publiques, ce n'est
pas possible (malgré que c'est une excellente idée), car
mes variables doivent changer de valeur.

Exemple :


If Not Rg1 Is Nothing Then
LN_ok = 1
LN_entete = 2
LN_cons = 3
LN_cmd = 4
LN_rec = 5
LN_stkMag = 6
LN_stkTmp = 7
LN_stkSec = 8
LN_invReel = 9
LN_enCmd = 10
LN_invTheo = 11
Set CELL_stkMagV = Range("B6")
Set CELL_stkTmpV = Range("B7")
Set CELL_stkSecV = Range("B8")
LN_temp = 13
'Variables Pour Feuille Calculs
Lg_F3_enCmdSemAct = 11
Lg_F3_invReelSemAct = 12
Lg_F3_stkSecEntame = 13
LN_ptCmd = 14
LN_stkMagV = 15
LN_stkTmpV = 16
LN_stkSecV = 17
LN_consAvgMth = 18
LN_debut1 = 2
LN_fin1 = 10
Lg_F3_1 = 2
Lg_F3_2 = 5
Lg_F3_3 = 8
Set CELL_TabGestPtCmd = Range("Y6")
Set CELL_AvgConsMth = Range("F12")
ElseIf Not Rg2 Is Nothing Then
LN_ok = 21
LN_entete = 22
LN_cons = 23
LN_cmd = 24
LN_rec = 25
LN_stkMag = 26
LN_stkTmp = 27
LN_stkSec = 28
LN_invReel = 29
LN_enCmd = 30
LN_invTheo = 31
Set CELL_stkMagV = Range("B26")
Set CELL_stkTmpV = Range("B27")
Set CELL_stkSecV = Range("B28")
LN_temp = 33
'Variables Pour Feuille Calculs
Lg_F3_enCmdSemAct = 29
Lg_F3_invReelSemAct = 30
Lg_F3_stkSecEntame = 31
LN_ptCmd = 32
LN_stkMagV = 33
LN_stkTmpV = 34
LN_stkSecV = 35
LN_consAvgMth = 36
LN_debut1 = 20
LN_fin1 = 28
Lg_F3_1 = 20
Lg_F3_2 = 23
Lg_F3_3 = 26
Set CELL_TabGestPtCmd = Range("Y7")
Set CELL_AvgConsMth = Range("H12")
End If
-----Message d'origine-----
Salut Eric !

Et si tu nous donnais ton code ;-) ??

Dans l'attente de ta prochaine réponse ...

Salutations
Dédé


Avatar
Eric Tremblay
C'est malheureusement difficile à expliquer ici et je ne
veux pas faire perdre le temps précieux des experts du
forum, mais est-ce qu'il y a un moyen que tu jettes un
oeil au fichier et me donner tes commentaires?

Merci beaucoup!

-----Message d'origine-----
Salut Eric !

Et si tu nous donnais ton code ;-) ??

Dans l'attente de ta prochaine réponse ...

Salutations
Dédé


Avatar
Dédé
Ben cela était pour faciliter aux experts du forum de savoir que quoi était
fait ton code ...

Pour ma personne, je ne suis malheureusement pas assez Expert comme certains
par là pour te commenter en détails ton code ...

Essaie de suivre les conseils de Clément et si t'a le temps de chercher la
moindre, essaie de faire un saut sur le site suivant ainsi que sur les sites
qui y sont référencé ...

www.excelabo.net

Salutations et bon courage ;-)

Dédé
"Eric Tremblay" a écrit dans le
message de news:009401c4d8ac$07236070$
C'est malheureusement difficile à expliquer ici et je ne
veux pas faire perdre le temps précieux des experts du
forum, mais est-ce qu'il y a un moyen que tu jettes un
oeil au fichier et me donner tes commentaires?

Merci beaucoup!

-----Message d'origine-----
Salut Eric !

Et si tu nous donnais ton code ;-) ??

Dans l'attente de ta prochaine réponse ...

Salutations
Dédé


Avatar
Clément Marcotte
Bonjour,

Pour éviter les envois multiples et si ton fichier ne dépasse pas 250
Ko, (au besoin tu le " zipper"), dépose le sur http://www.cjoint.com
et donne nous l'adresse qu'ils vont te donner à la fin de l'opération.


"Eric Tremblay" a écrit dans le
message de news:009401c4d8ac$07236070$
C'est malheureusement difficile à expliquer ici et je ne
veux pas faire perdre le temps précieux des experts du
forum, mais est-ce qu'il y a un moyen que tu jettes un
oeil au fichier et me donner tes commentaires?

Merci beaucoup!

-----Message d'origine-----
Salut Eric !

Et si tu nous donnais ton code ;-) ??

Dans l'attente de ta prochaine réponse ...

Salutations
Dédé


Avatar
Eric Tremblay
Merci bcp Dédé, je connais le site Excel Labo. Un site
extra.

Eric
-----Message d'origine-----
Ben cela était pour faciliter aux experts du forum de
savoir que quoi était

fait ton code ...

Pour ma personne, je ne suis malheureusement pas assez
Expert comme certains

par là pour te commenter en détails ton code ...

Essaie de suivre les conseils de Clément et si t'a le
temps de chercher la

moindre, essaie de faire un saut sur le site suivant
ainsi que sur les sites

qui y sont référencé ...

www.excelabo.net

Salutations et bon courage ;-)

Dédé
"Eric Tremblay" a
écrit dans le

message de news:009401c4d8ac$07236070$
C'est malheureusement difficile à expliquer ici et je ne
veux pas faire perdre le temps précieux des experts du
forum, mais est-ce qu'il y a un moyen que tu jettes un
oeil au fichier et me donner tes commentaires?

Merci beaucoup!

-----Message d'origine-----
Salut Eric !

Et si tu nous donnais ton code ;-) ??

Dans l'attente de ta prochaine réponse ...

Salutations
Dédé



.




Avatar
Eric Tremblay
Voici l'adresse :
http://cjoint.com/?mcv0xOChlC

P.S. J'ai une feuille et un module qui contiennent du
code.

Merci Clément

-----Message d'origine-----
Bonjour,

Pour éviter les envois multiples et si ton fichier ne
dépasse pas 250

Ko, (au besoin tu le " zipper"), dépose le sur
http://www.cjoint.com

et donne nous l'adresse qu'ils vont te donner à la fin
de l'opération.