Non rafraîchissement de l'écran non fonctionnel.

  • Initiateur de la discussion Initiateur de la discussion Calvus
  • 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 !

Re : Non rafraîchissement de l'écran non fonctionnel.

Bonjour Calvus, Pierre,

Tous mes voeux de bonne année 2016.

Pour rendre le fichier un peu fonctionnel :

Code:
Private Sub Workbook_Open()
Dim s As Shape
For Each s In Feuil1.Shapes 'CodeName de la feuille
  s.OnAction = "Feuil1.Click_France"
Next
End Sub
Pas de saut d'écran chez moi (Excel 2013) avec la macro Click_France 😕

Fichier joint.

A+
 

Pièces jointes

Re : Non rafraîchissement de l'écran non fonctionnel.

Bonjour Pierre, Jpb75, le Forum,

Tous mes voeux également.

@ Pierre, le fichier n'est fonctionnel que sur Alpes Maritimes en effet. Dû à la modification pour le forum.

@ Job75, Chez moi, à chaque click, la carte est rafraîchie, donc disparaît 1/10e de seconde.

Job75 à dit:
avec la macro Click_France

Pourquoi cet air confus ? 🙂

Bonne journée.
 
Re : Non rafraîchissement de l'écran non fonctionnel.

Re,

Application.ScreenUpdating = False est utile quand il y a beaucoup de Shapes à traiter.

Par ailleurs pourquoi colorer des Shapes déjà colorées ?

Je verrais bien quelque chose de ce genre avec la propriété Transparency :

Code:
Private Sub Workbook_Open()
Dim s As Shape
Application.ScreenUpdating = False
For Each s In Feuil1.Shapes 'CodeName de la feuille
  s.OnAction = "Feuil1.Click_France"
  s.Fill.Transparency = 1
Next
End Sub
Code:
Sub Click_France()
With Shapes.Range(Array("Alpes Maritimes", "Var", "Bouches Du Rhone", "Alpes de Haute Provence", "Hautes Alpes", "Drome", "Isere")).Fill
  .Transparency = IIf(.Transparency, 0, 1)
End With
End Sub
Fichier (2).

A+
 

Pièces jointes

Dernière édition:
Re : Non rafraîchissement de l'écran non fonctionnel.

Re,

La macro étant assez rapide on peut traiter toutes les Shapes :

Code:
Sub Click_France()
Dim s As Shape
Application.ScreenUpdating = False
For Each s In Shapes
  If s.Fill.ForeColor.RGB Then _
    s.Fill.Transparency = IIf(s.Fill.Transparency, 0, 1)
Next
End Sub
Fichier (3).

A+
 

Pièces jointes

Re : Non rafraîchissement de l'écran non fonctionnel.

Re,

Juste une précision sur le fichier précédent.

Si l'on veut pouvoir colorer manuellement une Shape (département) incolore :

- effacer toutes les couleurs en cliquant sur la Shape

- clic droit pour la sélectionner : mettre éventuellement la grande Shape qui la cache en arrière-plan

- appliquer la couleur

- clic normal sur la Shape pour afficher la couleur.

A+
 
Re : Non rafraîchissement de l'écran non fonctionnel.

Bonsoir le Forum, Job75 🙂

Job75, le fichier du post #11 fonctionnait très bien. Aucun rafraîchissement. Il est en différemment du dernier fichier.

Merci pour cette macro en tout cas. Je vais creuser...encore et encore...
 
Re : Non rafraîchissement de l'écran non fonctionnel.

Re Calvus,

Il est donc clair que sur Excel 2007 l'utilisation de Application.ScreenUpdating provoque le saut d'écran.

En fait on peut carrément supprimer cette instruction :

Code:
Sub Click_France()
Dim s As Shape
For Each s In Shapes
  If s.Fill.ForeColor.RGB Then _
    s.Fill.Transparency = IIf(s.Fill.Transparency, 0, 1)
Next
End Sub
Fichier (4).

Bonne fin de soirée.
 

Pièces jointes

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

Réponses
11
Affichages
262
Réponses
7
Affichages
172
Réponses
1
Affichages
366
  • Question Question
Microsoft 365 Bloccage Excel
Réponses
1
Affichages
381
W
Réponses
4
Affichages
163
Retour