Application.screenupdtating ne marche plus ?

Re-bonjour...

Voici mon code, tout fonctionne parfaitement je suis en train de travailler et j'ai du faire une fausse manip je n'arrive plus a désactiver le screenupdtating...

Sachant que le prog est un peu long la c'est cata c'est interminable et mon excel clignote comme un sapin de noel :(

Public Sub DFQ_Check(DFQ As Workbook, Original As Workbook)
Dim Donnees As Worksheet
Dim n As Long, k As Long, kdfq As Long
Dim ref As String, stm As String, bx As String, plan As String
Original.Activate
Sheets("Nothing").Activate
Application.ScreenUpdating = False
ref = UCase(UStart.ref.Text)
plan = UCase(UStart.plan.Text)
stm = UCase(UStart.stm.Text)
bx = UCase(UStart.bx.Text)
ref = Application.WorksheetFunction.Substitute(ref, " ", "")
plan = Application.WorksheetFunction.Substitute(plan, " ", "")
stm = Application.WorksheetFunction.Substitute(stm, " ", "")
bx = Application.WorksheetFunction.Substitute(bx, " ", "")

Set Donnees = Sheets(Onglet_Piece(ref))
Donnees.Activate
'Estimation Patienter ?
Dim BoucleMax As Long
Dim PointsMax As Long
Dim LigneMax As Long
Dim Compteur As Long
n = 3
BoucleMax = 0
PointsMax = 0
LigneMax = 0
While Cells(n, 1) <> ""
    PointsMax = PointsMax + 1
    n = n + 1
Wend
DFQ.Activate
n = 1
While Cells(n, 1) <> ""
    LigneMax = LigneMax + 1
    n = n + 1
Wend
BoucleMax = LigneMax * PointsMax
Patienter.Show
Original.Activate

If Donnees.Name = "Nothing" Then                                                    'si els donées éxistent pas
    MsgBox ("La référence recherchée n'ai pas enregistré dans la base de données.")
    Exit Sub
End If

'On initalise le USERFORM en le vidant completement
Result.TextBoxEntete.Text = ""
Result.TextBoxManquant.Text = ""
Result.TextBoxManquantNormal.Text = ""
Result.TextBoxManquantX.Text = ""
Result.TextBoxManquantY.Text = ""
Result.TextBoxManquantZ.Text = ""
Result.TextBoxSupprimer.Text = ""

DFQ.Activate
Application.ScreenUpdating = False
'RECHERCHE DU PART ?
For n = 1 To 30
If Cells(n, 1) = "K1002" Then
    Dim Le_Part As String
    Le_Part = Cells(n, 2)
    Original.Activate
    Donnees.Activate
    Result.Titre.Caption = "Analyse du " & Cells(1, 1) & ", " & Le_Part & " :"
    Sheets("Nothing").Activate
    DFQ.Activate
End If
Next n

'Tester les valeurs qui doivent apparaitres
Dim mesure As String
Dim trouve As Boolean, trouve_norm As Boolean, trouve_x As Boolean, trouve_y As Boolean, trouve_z As Boolean

Original.Activate
Donnees.Activate
k = 3
While Cells(k, 1) <> ""
    Original.Activate
    Donnees.Activate
    trouve = False
    trouve_norm = False
    trouve_x = False
    trouve_y = False
    trouve_z = False
    mesure = Cells(k, 1)
    k = k + 1
    DFQ.Activate
    kdfq = 1
    While Cells(kdfq, 1) <> ""
        If Left(Cells(kdfq, 2), 5) = mesure Then trouve = True
        If Right(Cells(kdfq, 2), 1) = "x" Or Right(Cells(kdfq, 2), 1) = "X" Then trouve_x = True
        If Right(Cells(kdfq, 2), 1) = "y" Or Right(Cells(kdfq, 2), 1) = "Y" Then trouve_y = True
        If Right(Cells(kdfq, 2), 1) = "z" Or Right(Cells(kdfq, 2), 1) = "Z" Then trouve_z = True
        If Right(Cells(kdfq, 2), 6) = "normal" Then trouve_norm = True
        kdfq = kdfq + 1
    Wend
    'Si c'est pas trouvé on le dit dans le textbox
    If trouve = False Then
        Result.TextBoxManquant.Text = Result.TextBoxManquant.Text & Chr(13) & mesure
    Else
        If trouve_x = False Then Result.TextBoxManquantX.Text = Result.TextBoxManquantX.Text & Chr(10) & mesure
        If trouve_y = False Then Result.TextBoxManquantY.Text = Result.TextBoxManquantY.Text & Chr(10) & mesure
        If trouve_z = False Then Result.TextBoxManquantZ.Text = Result.TextBoxManquantZ.Text & Chr(10) & mesure
        If trouve_norm = False Then Result.TextBoxManquantNormal.Text = Result.TextBoxManquantNormal.Text & Chr(10) & mesure
    End If
    Compteur = Compteur + 1
    Patienter.Label_Chargement.Caption = Round((Compteur * 100) / BoucleMax, 0) & "%"
    'Patienter.Repaint
Wend

Original.Activate
DFQ.Activate
DFQ.Close
Application.ScreenUpdating = True
Original.Activate
Sheets("Nothing").Activate
Patienter.Hide
Result.Show
End Sub

EDIT à chaque fois que je fait Ctrl+Pause tout excel plante donc je peux plus du tout éxécuter le code pour le tester... J'aime pas quand Excel cesse de fonctionner a tout bout de champs ^^

Bonjour,

à quoi servent tous ces .activate (as-tu des macros événementielles qui sont lancées par l'activation de ces feuilles ?)

Bah.. heu.. c'est juste que je ne sais pas coder propre, donc je .activate avant d'utiliser les Cells(x,y) pour etre sur que le valeur est prise sur la bonne feuille ^^

re,

pourrais-tu mettre tes 2 classeurs ?

Salut, tu tombes à pic j'ai trouvé la solution... mais je en comprend pas pourquoi ca faisait ca:

Compteur = Compteur + 1
    Patienter.Label_Chargement.Caption = Round((Compteur * 100) / BoucleMax, 0) & "%"
    Patienter.Repaint
Wend

J'ai remis la ligne Patienter.Repaint

Patienter est un UserForm

dans mon précédent code elle été en annotation car je la pensais inutile -_-

Désolé h2so4 je retire ce que j'ai dit ca fait toujours des clignotements dans tous les sens... >:(

je t'envoie mon application excel mais je n'ai pas le droit d'envoyer mes fichiers DFQ le forum me dit extension non valide :/ c'est des textes en fait que j'ouvre via excel

Voici une version plus récente.

Tout fonctionne si ce n'est cet écran qui clignote dans tous les sens :/ j'aimerais avoir uniquement mon Userform qui s'affice et s'actualise.

Une idée de comment transmettre mes fichiers .dfq ? je peux envoyer par mail si faut

A+

bonsoir

je t'envoie mon application excel mais je n'ai pas le droit d'envoyer mes fichiers DFQ le forum me dit extension non valide

peux-tu changer le .DFQ en .TXT ou le zipper et mettre le fichier sur le forum?

Salut,

Voici donc mon application et un fichier a tester, Pour faire tourner l'appli tu dois renseigner sur la premiere fenetre ces informations:

Reférence: 109004457C

BX: BX005

Indice Plan: CB02

Normalement TOUT fonctionne parfaitement ce qui m'embête c'est comment ca clignote partout quand le programme tourne ! ^^

Merci bcp du temps que tu consacreras à essayer de trouver une solution

A+

PS: Un autre micro soucis, j'ai deux écran actuelement, et je n'arrive pas à faire apparaitre les Userform au centre de l'appli Excel, 'jai essayé tous les paramètres.

A mon avis cela vient du fait que j'ai Excel sur l'ecran 1 et VBA sur l'autre du coup le USEFORM apparait a cheval sur les deux écran... Rien de grave mais si tu peux y jeter un coup d'oeil !

bonjour,

essaie ceci

Qu'as tu moidifié ? Je n'ai plus rien qui marche maintenant ^^'

1 2

A l'ouverture j'ai ca..

3 4

Et quand il essaye d'ouvrir les fichiers selectionnés

Bonjour,

Chez moi quand j'ouvre ce classeur, je n'ai aucun problème. Comment as-tu lancé ton userform ? en passant par vba ? ou en laissant faire le workbook_open ?

Et bien oui j'ai laissé faire le workbook_open,

Sur mes version ca marche parfaitement,

La je télécharge la tiennes j'ouvre et direct message d'erreur comme sur les photos. (donc le UserForm ne s'affiche même pas puisque la ligne qui blocl c'est pour activer l'onglet "Nothing"

Ensuite en mode débugage j'ai forcé la ligné Sheets("Nothing").Activate

Et le Userform s'est correctement affiché puis j'ai eu une autre erreur lors de l'ouverture des fichiers sélectionnées

re,

j'ai téléchargé à partir du forum la version que j'y avais mise pour vérifier s'il n'y avait pas une corruption dans le fichier que j'y ai mis. Je n'ai pas de problème avec cette version non plus.

As-tu d'autres classeurs ouverts en excel quand tu ouvres celui-ci ?

Alors je confirme ca bug même avec aucuns classeur Excel.

Mais si je stop la maro sauvgarde puis réouvre le fichier........ Tout foncionne normalement ! Etrange...

Du coup Je n'ai plus mes problème de Screenupdating donc c'est top mais comment as-tu résolu le problème ? Comme ca je n'aurais qu'as appliquer t'as modification sur mes fichiers originals qui étaient parfaitement fonctionnel

Bonjour,

je t'ai mis le fichier avec une indication de toutes les lignes que j'ai modifiées. (module checking) + une modification supplémentaire dans workbook_open (à tester pour voir si ça change quelque chose au problème que tu rencontres chez toi)

Mazette !!!! Je gagne un sacré paquet de temps d'éxécution !!! merci beaucoup h2so4

J'imagine que c'est pas facile de mettre la tête dans un gros code comme cela mercic bcp c'est extra

btw le probleme du message d'erreur à l'ouverture n'est pas résolu mais c'est vraiment pas génant j'ai fait les modifs sur un de mes codes a jours et tout fonctionne niquel !

A+++

Re-bonjour,

btw le probleme du message d'erreur à l'ouverture n'est pas résolu

je n'ai pas d'explication pour ce problème, car je n'ai pas touché à cette partie du code (peut-être lié à nos versions différentes d'excel, mais je n'ai jamais rencontré ce problème).

Rechercher des sujets similaires à "application screenupdtating marche"