Excel VBA - Ajustement défilement et plan
Résolu
mic13710
Messages postés
1087
Date d'inscription
Statut
Membre
Dernière intervention
-
mic13710 Messages postés 1087 Date d'inscription Statut Membre Dernière intervention -
mic13710 Messages postés 1087 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai une feuille excel 2003 qui comporte un certain nombre de plans.
Afin de limiter l'accès de l'utilisateur à la seule zone qui le concerne, j'ai mis un Sheets("Toto").ScrollArea = "A1:FP175"
Ça fonctionne bien, mais lorsque je développe un plan de mettons 10 colonnes, les 10 colonnes du tableau les plus à droite ne sont plus accessibles à l'écran.
Tout se passe en fait comme si Excel délimite au départ une zone visuelle par rapport aux bornes de la ScrollArea, mais ne réajuste pas cette zone lorsqu'elle est étendue par le développement d'un plan.
J'ai cherché et je n'ai pas trouvé un seul début de solution. Aussi, je fais appel aux spécialistes du vba pour savoir s'il y aurait un code événementiel du type "Worksheet_Change" qui permettrait de détecter un développement de plan avec lequel je pourrais réinitialiser le ScrollArea :
Sheets("Toto").ScrollArea = ""
Sheets("Toto").ScrollArea = "A1:FP175"
D'avance merci.
J'ai une feuille excel 2003 qui comporte un certain nombre de plans.
Afin de limiter l'accès de l'utilisateur à la seule zone qui le concerne, j'ai mis un Sheets("Toto").ScrollArea = "A1:FP175"
Ça fonctionne bien, mais lorsque je développe un plan de mettons 10 colonnes, les 10 colonnes du tableau les plus à droite ne sont plus accessibles à l'écran.
Tout se passe en fait comme si Excel délimite au départ une zone visuelle par rapport aux bornes de la ScrollArea, mais ne réajuste pas cette zone lorsqu'elle est étendue par le développement d'un plan.
J'ai cherché et je n'ai pas trouvé un seul début de solution. Aussi, je fais appel aux spécialistes du vba pour savoir s'il y aurait un code événementiel du type "Worksheet_Change" qui permettrait de détecter un développement de plan avec lequel je pourrais réinitialiser le ScrollArea :
Sheets("Toto").ScrollArea = ""
Sheets("Toto").ScrollArea = "A1:FP175"
D'avance merci.
A voir également:
- Excel VBA - Ajustement défilement et plan
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Déplacer colonne excel - Guide
- Arrière plan - Guide
2 réponses
Salut le forum
Difficile de t'aider sans devoir reconstruire un fichier....
Pour joindre un fichier, tu crées un lien à l'aide de
https://www.cjoint.com/ ou de http://cijoint.fr/ et tu
recopies le lien dans ton prochain message.
Mytå
Difficile de t'aider sans devoir reconstruire un fichier....
Pour joindre un fichier, tu crées un lien à l'aide de
https://www.cjoint.com/ ou de http://cijoint.fr/ et tu
recopies le lien dans ton prochain message.
Mytå
Salut Myta,
En préparant le fichier pour le mettre sur ci-joint, je me suis rendu compte que la limitation du défilement fonctionnait (manquerait plus que ça) mais que c'était la visualisation à l'écran qui n'était pas linéaire.
En fait l'ouverture d'un plan n'était pas complètement prise en compte à l'écran, les dernières colonnes restant invisibles, bien qu' accessibles avec les flèches de déplacement. Mais si j'ouvrais un deuxième plan, l'affichage à l'écran redevenait complet (tous les plans ouverts visibles).
J'en ai déduit que la limite de visualisation est semble t'il dépendante d'un pas (je n'ai pas cherché à savoir de combien) et non directement d'un nombre de colonnes à afficher, d'où le problème que je rencontre sur ma feuille qui comporte 2 plans de niveau 1 de 6 plans de niveau 2 chacun, ce qui donne 12 plans, tous de même dimension. Selon le nombre de plan ouverts l'affichage est complet ou pas.
Et donc, la solution évidente est tout simplement d'étendre la zone de défilement pour que toutes les conditions d'ouverture de plans permettent une visualisation complète à l'écran. C'est ce que j'ai fait et ça marche nickel.
Je ne crois pas qu'il y ait une solution autre que celle-ci qui finalement me convient assez bien.
Bien que ça ne soit pas tout à fait ce que je voulais au départ de ce fil, je considère le sujet comme résolu.
Michel
En préparant le fichier pour le mettre sur ci-joint, je me suis rendu compte que la limitation du défilement fonctionnait (manquerait plus que ça) mais que c'était la visualisation à l'écran qui n'était pas linéaire.
En fait l'ouverture d'un plan n'était pas complètement prise en compte à l'écran, les dernières colonnes restant invisibles, bien qu' accessibles avec les flèches de déplacement. Mais si j'ouvrais un deuxième plan, l'affichage à l'écran redevenait complet (tous les plans ouverts visibles).
J'en ai déduit que la limite de visualisation est semble t'il dépendante d'un pas (je n'ai pas cherché à savoir de combien) et non directement d'un nombre de colonnes à afficher, d'où le problème que je rencontre sur ma feuille qui comporte 2 plans de niveau 1 de 6 plans de niveau 2 chacun, ce qui donne 12 plans, tous de même dimension. Selon le nombre de plan ouverts l'affichage est complet ou pas.
Et donc, la solution évidente est tout simplement d'étendre la zone de défilement pour que toutes les conditions d'ouverture de plans permettent une visualisation complète à l'écran. C'est ce que j'ai fait et ça marche nickel.
Je ne crois pas qu'il y ait une solution autre que celle-ci qui finalement me convient assez bien.
Bien que ça ne soit pas tout à fait ce que je voulais au départ de ce fil, je considère le sujet comme résolu.
Michel