Plus c'est long, plus c'est bon, enfin, il paraît!!!?!

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 !

Provence Vintage

XLDnaute Occasionnel
Salut xldiens & xldiennes,🙂

Si quelqu'un à le temps de jeter un coup de pied....😉

Suite à une extractionde données, via un autre fichier,
on incorpore & traite les données.


Vu le nombre de données à traiter, (ici qu'une partie du code)
le hic, c qu j'en ai plein des conversions comme celle ci à caler dans le code,
plus c long, plus c bon; d'où la tentative de ProgressBar

J'ai basculer un point d'arret sur le code qui ....
Bug sur ProgressBar causé via Integer?!?😡

Merci et bon après-midi!

Cijoint.fr - Service gratuit de dépôt de fichiers
 
Re : Plus c'est long, plus c'est bon, enfin, il paraît!!!?!

Bonjour Provence Vintage,

Ce qui suit n'engage que mon avis :

  • Si on veut mettre un ProgressBar, c'est que le traitement prend beaucoup de temps.
  • Pour faire un ProgressBar réaliste - qui représente réellement l'avancement du traitement des données dans la macro ; cela implique une bonne analyse du code en plus, du coup, du code en plus (et donc du temps de traitement).
Mieux vaut passer du temps (afin économiser nos processeurs (nos centrales, notre planète 😉)) à analyser et optimiser l'existant, plutôt qu'à le mesurer.

A+

Edit: Au fait, je dis ça sans avoir ouvert ton fichier. Je me trompe peut-être
 
Dernière édition:
Re : Plus c'est long, plus c'est bon, enfin, il paraît!!!?!

Le Fil, Romain,

C'est une vue de l'esprit, en effet,
mais ça ne m'avance malheureusement pas énormément sur la compréhension de mes erreurs de codes!!!!!!

Bonne soirée et bon WE à toi.

Si une bonne âme passe par là, avant que je trépasse 😎
 
Re : Plus c'est long, plus c'est bon, enfin, il paraît!!!?!

bonsoir provence,le fil
voila après avoir télécharger ton fichier et essayer de lancer le userform je n'ai aucun bogue,
peux tu expliquer les manipulation a suivre pour utilisé ton fichier et de plus ou bogues t-il est comment?
Code:
Dim n As Integer
essaie
Code:
Dim n As long
dès fois que ça vient de la...
pour augmenter la vitesse du traitement.
remplace le code par:
Code:
Sub TraitementdesDates()

Dim c As Range, plage As Range
Dim J, n, drligne As Long
drligne = Range("D65536").End(xlUp).Row


For n = drligne To 1 Step -1
Set plage = Range("D" & n)
For Each c In plage
    If Not IsEmpty(c) Then
        c.TextToColumns Destination:=Range("D" & n), DataType:=xlFixedWidth, _
        FieldInfo:=Array(0, 4), TrailingMinusNumbers:=True
    End If
Next c
Next n

End Sub
et
Code:
Sub TraitementdesDonnées()

Dim Nom As String
Dim DateIntegration As Date, DateMax As Date
Dim Lg_Integration As Long, i As Long, J As Long, Z As Long, Derlig As Long, Dercol As Long, NouvelleLigne As Long
Dim n As Integer, compteur As Integer
Dim c As Range, plage As Range, cel As Range
Dim X


'Début du traitement
  
Application.ScreenUpdating = False

Application.DisplayStatusBar = True

' Retirer les colonnes A C I L M

Nom = ActiveWorkbook.Name
With Feuil2
    .Range("A:A,I:I,L:L,M:M").Delete Shift:=xlToLeft
End With

 'retirer les lignes PF et PM
For compteur = 0 To 50
Dim drligne As Long
drligne = Range("A65536").End(xlUp).Row
For n = drligne To 1 Step -1
  If Range("A" & n) = "PM" Then
    Rows(n).Delete
  End If
  If Range("A" & n) = "PF" Then
    Rows(n).Delete
  End If
Next n

Columns("F:G").NumberFormat = "General"

'PROGRESSBAR
  
        PerCent = compteur / 50
        Call ProGraiss(PerCent)
  Next compteur



      
' Transformer les dates en date

 For compteur = 0 To 50
 TraitementdesDates

'PROGRESSBAR
 
        PerCent = compteur / 50
        Call ProGraiss(PerCent)

  Next compteur

Application.DisplayStatusBar = False
Application.ScreenUpdating = True

Unload UserForm1



End Sub
'le fait de mettre une variable intermédiaire drligne dans la boucle for tu évites de répéter la recherche de la derniere ligne ce qui chargé le processeur a chaque passage d' ou gain en rapidité il en est de même pour l'utilisation du screenupdating de la feuille excel("gain de rapidité")

A+
 
Dernière édition:
Re : Plus c'est long, plus c'est bon, enfin, il paraît!!!?!

Bonsoir à toi et à tous, y compris à ceux qui passeront par ici,

Je n'ai pas trop regardé l'ensemble du code car je ne suis pas trop doué.

Mais en ce qui concerne une barre de progression, je peux te proposer ce que je joins.

L'adaptation n'est qu'une affaire d'arithmétique (Feuille blanche et crayon conseillés)

Amicalement.

Yann

P.S. L'écriture sur une page n'est là que pour ralentir la Macro!
 

Pièces jointes

- 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
Retour