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

Calvus

XLDnaute Barbatruc
Bonsoir le Forum,


Malgré l'instruction
Code:
Application.ScreenUpdating = False

l'écran ne se fige pas et "bouge".

Avez vous une idée ?

Merci
 

Pièces jointes

  • Prospects France 2.xlsm
    775.9 KB · Affichages: 59
  • Prospects France 2.xlsm
    775.9 KB · Affichages: 65

job75

XLDnaute Barbatruc
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 :confused:

Fichier joint.

A+
 

Pièces jointes

  • Prospects France(1).xlsm
    705.4 KB · Affichages: 40

Calvus

XLDnaute Barbatruc
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.
 

job75

XLDnaute Barbatruc
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

  • Prospects France(2).xlsm
    704.4 KB · Affichages: 30
Dernière édition:

job75

XLDnaute Barbatruc
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

  • Prospects France(3).xlsm
    701.2 KB · Affichages: 22

job75

XLDnaute Barbatruc
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+
 

Calvus

XLDnaute Barbatruc
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...
 

job75

XLDnaute Barbatruc
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

  • Prospects France(4).xlsm
    703.9 KB · Affichages: 25
Dernière édition:

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83