Application.ScreenUpdating = False ne fonctionne pas

smer38 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

a l'intérieur d'un sub (en VBA) ou j'effectue des copies de cellules d'un onglet à l'autre la clause qui permet de ne pas afficher le rafraichissement de l'écran ne fonctionne pas. quelqu'un a t'il une idée sur le sujet? dans d'autres sub cela fonctionne correctement

3 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Application.ScreenUpdating = False
n'empeche pas l'affichage des changements de feuille(s) (select, activate, add ......)

il faut l(accompagner de ceci:
Application.EnableEvents = False


remettre a true les deux en fin de traitement. Mais Attention, en cas d'erreur, plus d'evenements excel, donc prevoir un traitement en cas d'erreur qui remettra a true
Application.EnableEvents


Par contre votre code est surement modifiable pour supprimer tous les activate et select
9
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Montrez le code qui pose probleme svp
0
smer38 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

voici mon code
a partir d'un onglet de référence pour chaque ligne je vais piquer des valeurs dans un autre onglet et je met en forme.

Application.ScreenUpdating = False              ' On masque l'affichage des feuilles pendant l'execution de la macro
Sheets("Clarity").Select

Nblignes = ActiveSheet.UsedRange.Rows.Count
nblig_cla = Sheets("Clarity").UsedRange.Rows.Count ' NB lignes de l'onglet
nblig_gen = Sheets("generales").UsedRange.Rows.Count ' NB lignes de l'onglet
nblig_host = Sheets("Host").UsedRange.Rows.Count ' NB lignes de l'onglet
nblig_boreal = Sheets("boreal").UsedRange.Rows.Count ' NB lignes de l'onglet
nblig_serveur = Sheets("Serveur").UsedRange.Rows.Count ' NB lignes de l'onglet
nblig_exploit = Sheets("exploit").UsedRange.Rows.Count ' NB lignes de l'onglet
nblig_securite = Sheets("securite").UsedRange.Rows.Count ' NB lignes de l'onglet
nblig_matV2 = Sheets("Matiere V2").UsedRange.Rows.Count ' NB lignes de l'onglet

Set MaFeuille = ActiveSheet
Set MaPlage = MaFeuille.Range("A2:AH" & Nblignes).SpecialCells(xlCellTypeVisible)

' =============================================================================================
' Boucle de traitement sur toutes les lignes de l'onglet CLARITY
' On recupere les informations des autres onglets si match sur le code clarity
' =============================================================================================
j = 3
For I = 3 To Nblignes
'MsgBox i
ActiveSheet.Range(Cells(I, 1), Cells(I, 7)).Copy
Sheets("recap").Activate
Range("A" & I).Select
ActiveSheet.Paste
Sheets("clarity").Activate

With Sheets("recap")

On Error Resume Next
' Mise en forme onglet recap 12/12/13
' 11/09/2014 reamenagement onglet
'
' Traitement onglet données clarity complement
'

Set c = Worksheets("Clarity").Range("A2:A" & nblig_cla).Find(.Range("A" & j).Value) ' Recherche ligne dans onglet clarity
therow = c.Row

.Range("H" & j).Value = Sheets("Clarity").Range("j" & therow).Value 'Ouvert à la saisie
.Range("I" & j).Value = Sheets("Clarity").Range("K" & therow).Value 'Relance à effectuer
.

' Traitement onglet données generales projet (colonnes P <--> AQ)
'


Set c = Worksheets("generales").Range("A2:A" & nblig_gen).Find(.Range("A" & j).Value) ' Recherche ligne dans onglet generales
therow = c.Row
.Range("P" & j).Value = Sheets("generales").Range("F" & therow).Value 'Date installation
.Range("Q" & j).Value = Sheets("generales").Range("G" & therow).Value 'Date derogation fdl
.Range("R" & j).Value = Sheets("generales").Range("H" & therow).Value 'Date previsionnelle dcn t
.Range("S" & j).Value = Sheets("generales").Range("I" & therow).Value 'Date previsionnelle livraison matiere a la MOA
.Range("T" & j).Value = Sheets("generales").Range("K" & therow).Value 'Matiere Host
.Range("U" & j).Value = Sheets("generales").Range("AJ" & therow).Value 'Matière open pilotée par un traitement HOST (SMT)
.Range("V" & j).Value = Sheets("generales").Range("L" & therow).Value 'Matiere boreal

.....
'
' Traitement onglet données HOST (colonnes AR <--> BE)
'
Set c = Worksheets("host").Range("A2:A" & nblig_host).Find(.Range("A" & j).Value) ' Recherche ligne dans onglet host pour positionnement
therow = c.Row
.Range("AR" & j).Value = Sheets("host").Range("H" & therow).Value 'Livraison paquet prog.
.Range("AS" & j).Value = Sheets("host").Range("V" & therow).Value 'Livraison paquet prog. commentaire
.Range("AT" & j).Value = Sheets("host").Range("I" & therow).Value 'Nb PCL cree


' Traitement onglet données Boreal (colonnes BF <--> BO)
Set c = Worksheets("boreal").Range("A2:A" & nblig_boreal).Find(.Range("A" & j).Value) ' Recherche ligne dans onglet boreal pour positionnement
therow = c.Row
.Range("BF" & j).Value = Sheets("boreal").Range("H" & therow).Value 'Impcat niveau metier
.Range("BG" & j).Value = Sheets("boreal").Range("I" & therow).Value 'Commentaires


' Traitement onglet données Serveur (colonnes BP <--> BW)
Set c = Worksheets("serveur").Range("A2:A" & nblig_serveur).Find(.Range("A" & j).Value) ' Recherche ligne dans onglet serveur pour positionnement
therow = c.Row
.Range("BP" & j).Value = Sheets("serveur").Range("H" & therow).Value 'Nouvelle application a integrer
.Range("BQ" & j).Value = Sheets("serveur").Range("I" & therow).Value 'Evolution socle technique


' Traitement onglet données securité (colonnes BX <--> CB)
Set c = Worksheets("securite").Range("A2:A" & nblig_securite).Find(.Range("A" & j).Value) ' Recherche ligne dans onglet securite pour positionnement
therow = c.Row
.Range("BX" & j).Value = Sheets("securite").Range("H" & therow).Value 'Authentification
.Range("BY" & j).Value = Sheets("securite").Range("I" & therow).Value 'Analyse de risques



' Traitement onglet données Exploitabilité (colonnes CC <--> CJ)
Set c = Worksheets("exploit").Range("A2:A" & nblig_exploit).Find(.Range("A" & j).Value) ' Recherche ligne dans onglet exploit pour positionnement
therow = c.Row
.Range("CC" & j).Value = Sheets("exploit").Range("H" & therow).Value 'Contrat de service
.Range("CD" & j).Value = Sheets("exploit").Range("I" & therow).Value 'Consigne de reprise
.Range("CE" & j).Value = Sheets("exploit").Range("J" & therow).Value 'Sauvegarde
.Range("CF" & j).Value = Sheets("exploit").Range("K" & therow).Value 'Chemin critique


' Traitement onglet matiere V2 (colonnes CK <--> CN)
Set c = Worksheets("Matiere V2").Range("A2:A" & nblig_matV2).Find(.Range("A" & j).Value) ' Recherche ligne dans onglet exploit pour positionnement
therow = c.Row
.Range("CK" & j).Value = Sheets("Matiere V2").Range("G" & therow).Value 'Hors PIC via PPF
.Range("CL" & j).Value = Sheets("Matiere V2").Range("H" & therow).Value 'Autre type matiere V2
.Range("CM" & j).Value = Sheets("Matiere V2").Range("I" & therow).Value 'Matiere PIC repackagée
.Range("CN" & j).Value = Sheets("Matiere V2").Range("J" & therow).Value 'Matiere PIC non repakagée

j = j + 1

End With

Next
End Sub
0