OVH Cloud OVH Cloud

pourquoi devoir rentre une feuille visible pour acceder à une zone nommée ?

5 réponses
Avatar
Alfred WALLACE
Bonjour,

je me trouve r=E9guli=E8rement confront=E9 =E0 cette question.

Est-ce normal ?

voici l'extrait de mon code :
For Each c In plage
With Range("parametres!CHAMPS_MULTI_EVAL").Select
Set Rg =3D Nothing
Set Rg =3D [parametres!CHAMPS_MULTI_EVAL].Find(c.Value)
If Not Rg Is Nothing Then
chx_multiples =3D True
End If
End With
Next c

la feuille parametres n'est pas visible. MAIS, si je la rend visible,
alors l=E0, ok, =E7=E0 roule !
Est-ce normal ? je loupe quelque chose ?

Merci
Jos=E9

5 réponses

Avatar
Pounet95
Re,
Je ne sais pas expliquer le pourquoi, mais quand ça m'arrive, j'y remédie
en mettant systématiquement cette instrucution au début de la Sub ou
Fonction lancée :
Application.Screenupdatingúlse
mafeuille.visible=true

....
puis recacher la feuille avant de terminer
mafeuille.visibleúlse

ou toute autre instruction style Hidden, veryhidden, etc .....

Pounet95

"Alfred WALLACE" a écrit dans le message de news:

Bonjour,

je me trouve régulièrement confronté à cette question.

Est-ce normal ?

voici l'extrait de mon code :
For Each c In plage
With Range("parametres!CHAMPS_MULTI_EVAL").Select
Set Rg = Nothing
Set Rg = [parametres!CHAMPS_MULTI_EVAL].Find(c.Value)
If Not Rg Is Nothing Then
chx_multiples = True
End If
End With
Next c

la feuille parametres n'est pas visible. MAIS, si je la rend visible,
alors là, ok, çà roule !
Est-ce normal ? je loupe quelque chose ?

Merci
José
Avatar
Daniel
Bonjour.
C'est parce que tu ne peux sélectionner une plage que sur la feuille
active. D'ailleurs, je ne vois pas l'utilité des lignes With... End With.
Cordialement.
Daniel
"Alfred WALLACE" a écrit dans le message de news:

Bonjour,

je me trouve régulièrement confronté à cette question.

Est-ce normal ?

voici l'extrait de mon code :
For Each c In plage
With Range("parametres!CHAMPS_MULTI_EVAL").Select
Set Rg = Nothing
Set Rg = [parametres!CHAMPS_MULTI_EVAL].Find(c.Value)
If Not Rg Is Nothing Then
chx_multiples = True
End If
End With
Next c

la feuille parametres n'est pas visible. MAIS, si je la rend visible,
alors là, ok, çà roule !
Est-ce normal ? je loupe quelque chose ?

Merci
José
Avatar
Garette
Bonjour,

Il faut enlever le Select.
L'exemple qui est dans l'aide n'a pas de Select.
On ne peut pas selectionner une plage d'une feuille masquée mais on peut
travailler qd meme sur cette plage.

For Each c In plage
With Range("parametres!CHAMPS_MULTI_EVAL")
Set Rg = Nothing
Set Rg = [parametres!CHAMPS_MULTI_EVAL].Find(c.Value)
If Not Rg Is Nothing Then
chx_multiples = True
End If
End With
Next c

Effectivement, il y a du code superflu.
Ce code doit faire sensiblement la meme chose et fonctionne avec
"parametres" masquée :

Sub test()
For Each c In Selection
If Not [parametres!CHAMPS_MULTI_EVAL].Find(c.Value) Is Nothing Then
chx_multiples = True
MsgBox c 'pour voir ce qu se passe
End If
Next c
End Sub
Avatar
Pounet95
Re,
Effectivement, et je ne sais pas si une feuille cachée peut être active ?
D'où ma réponse.
Je suis preneur de toute explication dans ce sens.
Nota : l'instruction "application.screenupdatingúlse" outre l'avantage de
ne pas se faire mal aux yeux, permet aussi de diviser le temps d'éxécution
( j'oserais m'avancer à dire 7 à 8 fois plus rapide ! )


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

Bonjour.
C'est parce que tu ne peux sélectionner une plage que sur la feuille
active. D'ailleurs, je ne vois pas l'utilité des lignes With... End With.
Cordialement.
Daniel
"Alfred WALLACE" a écrit dans le message de news:

Bonjour,

je me trouve régulièrement confronté à cette question.

Est-ce normal ?

voici l'extrait de mon code :
For Each c In plage
With Range("parametres!CHAMPS_MULTI_EVAL").Select
Set Rg = Nothing
Set Rg = [parametres!CHAMPS_MULTI_EVAL].Find(c.Value)
If Not Rg Is Nothing Then
chx_multiples = True
End If
End With
Next c

la feuille parametres n'est pas visible. MAIS, si je la rend visible,
alors là, ok, çà roule !
Est-ce normal ? je loupe quelque chose ?

Merci
José




Avatar
lSteph
Bonjour,
pas besoin
Pourquoi devoir sélectionner quand on indique une plage de recherche.
With Range("parametres!CHAMPS_MULTI_EVAL").Select


Chez moi en enlevant le select ça roule.

Cdlt.

lSteph