Accueil > Forum > > > > Excel 2007 - Problème de Shapes
Excel 2007 - Problème de Shapes
vendredi 27 juillet 2012 à 17:47:21 |
Excel 2007 - Problème de Shapes

cheyenne
|
Bonjour,
Parmi les feuilles j'en ai une qui possède plusieurs Shapes. Lorsque j'active cette feuille tous les Shapes disparaissent pour réapparaitre dans la seconde.
Lors de l'évènement Activate de cette feuille une macro dispose les Shapes en fonction de la feuille quittée et certains de ceux-ci sont visibles ou pas. Parmi les Shapes il y en a un toujours fixe visible comportant une image jpeg de 150 Ko.
Ceci est dû, je pense, au rafraichissement de la feuille, j'ai essayé ScreenUpdating = False, mais cela reste sans effets.
Avez-vous une solution ? Merci.
Cheyenne
|
|
lundi 30 juillet 2012 à 02:28:38 |
Re : Excel 2007 - Problème de Shapes

jack
|
Salut
Une solution à quoi ?
Tu ne poses pas de question.
Ta première phrase : " Parmi les feuilles ... la seconde"
Est-ce un comportement normal et/ou programmé ou bien le sujet de ton problème ?
" Lors de l'évènement Activate ... il y en a un toujours fixe visible"
Là encore : Constatation ou problème ?
" une macro dispose les Shapes"
Montre ton début de la macro pour voir comment tu te réfères à la feuille + comment tu énumères et manipules tes Shapes
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
|
|
lundi 30 juillet 2012 à 12:06:52 |
Re : Excel 2007 - Problème de Shapes

cheyenne
|
Bonjour jack,
Certes, je n'ai pas posé de questions mais évoqué le phénomène qui se produit lorsque j'active une feuille.
Je n'ai pas mis le code de manipulation des Shapes car il est assez lourd.
Pour faire simple, disons que dans l'Activate de cette feuille je lance une routine qui exécute divers calculs astro. En fonction de la date et des résultats certains Shapes restent visibles et d'autres pas ou certains visibles sont orientés selon un certain angle.
Le seul Shape qui reste fixe est l'image qui change de teinte selon que le calcul est appelé le jour ou la nuit. Sur cette image vient se positionner un autre Shape (un symbole de planète) à un endroit défini par une partie du calcul.
En résumé, à l'appel de la feuille, plus de Shapes, ceux-ci ne réapparaissant qu'une fois le calcul terminé. A noter que je ne rends pas les Shapes invisibles en début de calcul.
Malgré la présence de ScreenUpdating = False avant la manipulation des Shapes j'ai toujours ce problème lors de l'activation de la feuille.
Cheyenne
|
|
mercredi 1 août 2012 à 01:01:37 |
Re : Excel 2007 - Problème de Shapes

jack
|
Je n'ai pas beaucoup d'expérience dans le domaine des Shapes.
L'idée qui me viendrait à l'esprit serait de tenter ces manips de Shape en les lançant bien après le Activate.
Si, comme cela arrive en VB classique avec un Form_Load, les objets graphiques ne sont pas encore initialisés au moment du Activate, cela pourrait produire ce genre de phénomène.
--> Essaye de supprimer l'appel dans Activate et d'installer un bouton pour lancer la lourde procédure.
Dit voir si cela change quelque chose au comportement des objets.
Dans ta réponse, insiste sur ce qui ne fonctionne pas. En effet, tu répètes "le seul Shape qui reste fixe ...", mais on ne sait toujours pas si c'est normal/volontaire ou si c'est un de tes problèmes.
Il nous sera impossible de t'aider si on ne sait pas ce qui se passe / ou ce qui ne se passe pas.
|
|
mercredi 1 août 2012 à 01:12:20 |
Re : Excel 2007 - Problème de Shapes

jack
|
Seconde idée : Mets des DoEvents de temps à autre dans ton code afin de laisser Windows agir sur les objets.
|
|
mercredi 1 août 2012 à 02:05:36 |
Re : Excel 2007 - Problème de Shapes

cheyenne
|
Bonjour jack,
Merci pour ta réponse. En effet, à l'évènement Activate, quand on clique sur l'onglet, les Shapes ne sont pas initialisés et je pense que c'est de là que vient le problème car la version 2007 n'est pas des plus rapides en ce qui concerne le rafraichissement des Shapes et graphiques.
Quant au bouton pour appeler la procédure, j'ai l'équivalent. Il suffit de cliquer sur certaines cellules dans les autres feuilles pour lancer la procédure de calcul et disposer les Shapes. Mais à la fin de cette procédure j'ai toujours cet inconvénient quand j'active la feuille.
Bien évidement, je dispose les Shapes en utilisant :
Code VBScript : With Sheets("toto")
.Shapes("titi").Left =
.Shapes("tata").Visible =
.Shapes("tutu").Rotation =
' etc... etc... etc...
.Activate
End With
Le Shape qui reste fixe, c'est voulu. J'entends par fixe : qui ne change pas de place, ce qui ne veut pas dire que lui aussi ne disparait pas quand j'active la feuille d'une manière ou d'une autre pour réapparaitre ensuite...
Je vais expérimenter les DoEvents en les plaçant judicieusement et te tiens au courant.
Remarques que ce problème relève plus du confort visuel que d'autre chose...
Cheyenne
|
|
mercredi 1 août 2012 à 13:49:53 |
Re : Excel 2007 - Problème de Shapes

cheyenne
|
Bonjour,
Les DoEvents, placés aux "endroits stratégiques", ne changent rien à l'affaire.
Sur cette fameuse page il y a des Shapes sur lesquels on peut cliquer. Le fait de cliquer sur un certain Shape entraine l'exécution de cette macro :
Code Visual Basic : Public Sub cmd_LUNE_SOLEIL()
bSOLEIL = Not bSOLEIL
Application.ScreenUpdating = False
With Sheets("AZIMUT")
.Unprotect
If .Shapes("cmdACTUALISER").Visible Then
With .Shapes("shpLIVE")
.Visible = True
If bSOLEIL Then .Top = 63 Else .Top = 55
End With
End If
.Protect UserInterfaceOnly:=True
End With
Call CHOIX_PAGE_AZIMUT
End Sub
A titre d'essai, j'ai inhibé l'appel de la routine Call CHOIX_PAGE_AZIMUT, et bien le fait de cliquer sur le Shape entraine un clignotement de tous les Shapes.
Que le ScreenUpdating soit à True ou False j'ai le clignotement, par contre si je supprimme la ligne ScreenUpdating curieusement je n'ai plus de clignotement !
Si j'appelle la routine les Shapes disparaissent le temps d'exécution de celle-ci puis réapparaissent.
Enfin, rien de bien grave, mais c'est agaçant ! A noter que j'ai une feuille avec des graphiques qui eux scintillent à l'activation de la feuille et pourtant les séries de données ne sont pas changées.
Il semblerait que la version 2007 ne soit pas aboutie, d'ailleurs l'enregistreur de macro ne fonctionne ni pour les Shapes ni pour les graphiques et il n'y a pas que ce problème !
Cheyenne
|
|
jeudi 2 août 2012 à 00:15:49 |
Re : Excel 2007 - Problème de Shapes

jack
|
En effet, beaucoup de problèmes (bêtes pour certains) pour les résultats fournis par l'enregistreur de macro de cette version 2007; Condoléances.
En toute logique, et pour t'y retrouver plus facilement, on devrait retrouver un
Application.ScreenUpdating = True
avant la sortie de ta Sub.
S'il y a clignotement, il y a surement du programme qui tourne.
Fais l'essai en pas-à-pas pour vérifier quelle instruction provoque un clignotement. Peut-être découvriras-tu que ton programme demande le visible False avant de le remettre à True, par exemple à cause d'un manque de filtre sur les objets - rappel : Shape désigne tout, bouton comme dessin.
Je le devine, mais confirme quand même : tous tes Shapes sont placés sur une feuille, pas sur une UserForm.
|
|
jeudi 2 août 2012 à 01:51:30 |
Re : Excel 2007 - Problème de Shapes

cheyenne
|
Bonjour jack,
Oui, tu devines bien, tous les Shapes qui posent problème sont effectivement placés sur une feuille. Je n'ai pas d'UserForm.
D'après Microsoft mettre le ScreenUpadting à True n'est pas nécessaire car il se fait automatiquement avant de quitter la Sub. Mais par prudence j'en colle toujours un avant le Exit Sub.(Mais effectivement pas dans l'exemple de mon dernier post !!!)
Peut-être découvriras-tu que ton programme demande le visible...
Oui, c'est une piste que j'ai explorée en pratiquant, avant que tu me le conseilles, le pas-à-pas et je n'ai rien découvert de particulier, même en mettant certaines instructions critiques en commentaires.
J'ai 17 feuilles dont 12 (une par mois) qui comportent chacune un Shape indiquant le nom du mois et qui commandent tous une macro. En cliquant sur ces Shapes j'ai également un clignotement, tout comme lorsque j'active ces feuilles !
J'ai 4823 lignes de code dans cette application !.
La Sub principale en appelle beaucoup d'autres en cascades et celles-ci ne font que du calcul. Chaque Sub est dédiée à un type de calcul précis. Ce n'est que la dernière qui manipule les Shapes (sur la feuille "principale") en fonction des résultats et cette feuille n'est pas visible à ce moment. Ce n'est qu'à son activation que se produit le phénomène
Je crois, jack, que l'on va en rester là, car finalement ce n'est pas vraiment un problème de programmation mais peut-être, tout bêtement de "synchro".
En tous cas merci pour l'intérêt que tu as porté à mon "problème".
Bonne continuation,
Cheyenne
|
|
jeudi 2 août 2012 à 08:12:44 |
Re : Excel 2007 - Problème de Shapes

ucfoutu
|
Bonjour,
Je viens de tomber sur cette discussion (suis occupé à des tâches matérielles).
Voilà longtemps que j'ai abandonné l'utilisation des shapes de Excel. Trop de problèmes divers et variés.
De mémoire, cependant : les shapes se mettent à "danser la mazurka" dans de nombreuses circonstances, dont :
- la présence de "frozen panes"
- la présente de sauits de page
de tout ce qui, je le pense, doit regérer les dispositions sur la feuille
Essaye, cheyenne, de les inhiber, genre (entre autres) :
ActiveSheet.DisplayPageBreaks = False, pour les sauts de page
Cherche ce qui "va" pour inhiber (mettre à False) les "frozen panes" éventuellement présents
etc ...
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
|
|
Cette discussion est classée dans : problème, excel, feuille, shapes
Répondre à ce message
Sujets en rapport avec ce message
Changer le caption d'un label à partir des valeurs stockées dans une feuille Excel [ par Skysoft ]
Salut tout le monde,Voilà quelques heures que je sèche un un problème qui me parait insoluble pourtant je suis sûr que quelqu'un à déjà trouvé une sol
Affichage PDF dans Excel2007 [ par mautone32 ]
Bonjour le forum,Voici mon problème (enfin, plutôt mes 2 problèmes) :J'aimerais afficher un fichier pdf dans une feuille Excel (Office 2007).J'ai util
Problème sur condition dans une macro excel [ par calanthea ]
Bonjour, Je suis novice en macro excel. Je viens de réaliser ma première mais j'ai un petit soucis. J'ai réalisé une macro qui part d'une feuille avec
Incrémenter une ouverture de feuille excel [ par hubhubfou ]
Bonjour, Voici mon problème : Je voudrais pouvoir incrémenter l'ouverture des feuilles de calcul. En effet, lorsque j'appuie sur le bouton "suivant"
[déplacé VB6 -> VBA] problème graphique VBA [ par fofy78 ]
Bonjour, J'ai quelques petits soucis sous VBA. J'ai fait un code pour générer automatiquement un graphique dans une feuille EXCEL. J'arrive à affiche
Problème Sélectionner une feuille dans un autre classeur [ par flostralian ]
Bonjour à tous, J'ai cherché une solution sur le forum mais en vain... J'ai essayé de nombreuses solutions énoncées sur ce forum. Mon problème est c
A l'aide!! Gros problème pour copier un fichier URGENT [ par Neric ]
Voilà mon problème:J'ai mon fichier excel de base avec toutes mes feuilles ecxel, mes modules, mes userForm, ...Mon programme extrait des données d'un
Problème de débutant : utilisation d'un objet OLE [ par pignouf ]
Salut tout le monde, voici mon problème.Je voudrais via l'intermédiaire de mon petit programme utiliser windows. Je connais bien VBA mais VB c'est pas
Problème de débutant : utilisation d'un objet OLE [ par pignouf ]
Salut tout le monde, voici mon problème.Je voudrais via l'intermédiaire de mon petit programme utiliser windows. Je connais bien VBA mais VB c'est pas
feuille excel et indice...à l'aide!!!!! [ par allfab ]
voila, j'ai un problème avec un programme : je veux selectionner une feuille excel dans un classeur excel contenant environ 50 feuilles...Je vous mets
Livres en rapport
|
Derniers Blogs
ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 0ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 0 par Philess
L'extensibilité du Team Web Access
Le Web Access (site d'équipe) de Team Foundation Server a été complètement réécrit dans la version 2012 avec pas moins de 400.000 lignes de JavaScript. Ce nouveau modèle a été pensé pour offrir de grandes...
Cliquez pour lire la suite de l'article par Philess SIMULER FACILEMENT L'ENVOI DE MAILSIMULER FACILEMENT L'ENVOI DE MAIL par JeremyJeanson
il m'a été demandé, à plusieurs reprises, comment je faisais pour simuler l'envoi de mail lors de mes démos de Workflow Foundation. Ma solution est plutôt simple : j'utilise la configuration par défaut du SmtpClient et j'oriente les mails vers un dossier ...
Cliquez pour lire la suite de l'article par JeremyJeanson VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Logiciels
Easy-Planning (4.5.0.11)EASY-PLANNING (4.5.0.11)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté a... Cliquez pour télécharger Easy-Planning CVEasy (3.1.0.51)CVEASY (3.1.0.51)PHMSD-CVEasy est un logiciel d'aide à la rédaction de CV d'une simplicité déconcertante.
PHMSD-C... Cliquez pour télécharger CVEasy LettresFaciles 2011 (8.6.0.31)LETTRESFACILES 2011 (8.6.0.31)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011 sDEVIS-FACTURES vlPRO (8.4.2.62)SDEVIS-FACTURES VLPRO (8.4.2.62)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO Devis-Factures PHMSD (2.1.0.11)DEVIS-FACTURES PHMSD (2.1.0.11)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD
|