Bloquer la màj automatique d'images dynamiques

  • Initiateur de la discussion Initiateur de la discussion boblebug
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

boblebug

XLDnaute Nouveau
Bonjour,

Je cherche une solution pour résoudre un problème avec un fichier Excel qui rame.

Je m'explique:
Le fichier en pièce jointe est censé permettre aux spectateurs, au cours d'un tournoi de poker, de voir en direct les cartes des joueurs (rassurez-vous, c'est entre copains, on ne craint pas la triche).
L'informaticien tire les cartes à son bureau, les saisit dans l'ordinateur, puis donne le jeu au croupier qui les distribue. L'informaticien affiche ensuite les cartes pour les spectateurs en même temps que se joue la main.

J'ai pour cela créé le tableur en pièce jointe.
Le problème est que ce tableur rame énormément.
Dans ce fichier, il y a 17 images "dynamiques" dont le contenu dépend de la valeur d'une cellule. C'est là qu'à mon avis réside le problème: les 17 images se mettent à jour dès que le contenu de n'importe quelle cellule du fichier est modifié.

Ma question est la suivante: est-il possible que par défaut la mise à jour automatique des images soit bloquée? Et dans ce cas, quelle formule VBA me permet de débloquer cette mise à jour au début de la macro qui modifie les images et quelle formule me permet de la rebloquer ensuite?

J'ai dû retirer quelques images du fichier pour ne pas dépasser les 300ko, évitez de prendre du trèfle pendant les tests 😉

Bonne soirée.
Boblebug
 

Pièces jointes

Re : Bloquer la màj automatique d'images dynamiques

Bonjour.
Je pense qu'il va falloir changer complètement de système pour gérer ces images.
Ça c'est la mauvaise nouvelle. Au lieu d'utiliser des images Excel, utilisez des contrôles Image VB
Pour en changer l'image il suffit d'affecter à leur propriété Picture une expression de la forme LoadPicture(CheminNomFicher)
En tout cas c'est ce que je ferais. Mais si ça vous fait peur travaillez avec des Shapes, mais prenez en des copies, n'utilisez plus les formules.
La bonne nouvelle maintenant :
Garder les Boutons Excel, c'est mieux, des CommandButton VB n'apporteraient aucun avantage car :
Vous pouvez ainsi utiliser une seule procédure pour tous les boutons.
Démonstration: Dans un module normal cette procédure :
VB:
Option Explicit

Sub Test()
Dim NomBouton As String, Texte As String
NomBouton = Application.Caller
Texte = Feuil1.Shapes(NomBouton).TextFrame.Characters.Text
MsgBox NomBouton & vbLf & Texte
End Sub
Affectez cette procédure Test à un bouton, puis cliquez dessus.
Vous pouvez voir qu'il est possible de récupérer de quoi reconstituer le nom d'un fichier jpg par exemple.
Et ce dans une seule procédure à mettre au point et non pas autant qu'il y a de boutons !

P.S. Pour vérifier si c'était jouable, j'ai ajouté un contrôle Image dans la feuille, puis dans le même module standard que le premier Test, réussi à faire tourner du 1er coup :
VB:
Sub Essai()
Dim Numéro As Long, Img As MSForms.Image
Numéro = 1
Set Img = Feuil1.OLEObjects(Numéro).Object
Img.Picture = LoadPicture("C:\Documents and Settings\luck\Mes documents\Mes images\GlisTrèfle.bmp")
End Sub
Remarque: pour effacer l'image il suffit de faire Img.Picture = LoadPicture("")
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour