Application.ScreenUpdating = False ne fonctionne pas

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

  1. 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
    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
      1. Bonjour,

        Montrez le code qui pose probleme svp
        0