Progressbar dans un code complexe!

B

Ben

Guest
Bonjour à tous!

Voilà un truc qui peut avoir l'air simple avant de s'être plongé dans le fichier joint!

J'ai fait un petit programme qui traite les données exportées sous XL par un logiciel de contrôle d'accès à ma boîte. Mais le logiciel exporte parfois des données en trop, ou inutiles qu'il faut ensuite filtrer, mais pas directement au filtre XL, non!... ce serait trop simple!

Donc je teste les lignes qui sont doubles et je n'en garde qu'une, de plus certaines lignes comportent une date mais n'ont pas d'autres données,...je les supprime aussi.

Enfin, il y a pas mal de tests du genre sur un nombre de lignes non défini à l'avance (1 jour, une semaine,...), sachant que ca passe par un fichier intermédiaire, le logiciel exportant les données dans un nouveau classeur à chaque fois ( il y a donc un lien dans le fichier original, mais dans la démo ici il n'y a que des données directes)!

Pour ce qui est de mon problème, c'est simplement (?) l'insertion d'un code de progressbar dans le mien...et ce n'est pas aussi simple que ce que je pensais!!

Pour ceux qui vont regarder, c'est dans le module 1, sub "Filtre_Ligne()", les autres sont là parce que je les ai laissées.

Voilà, C tout (???!), le reste est à peu près commenté dans la macro

merci

@+, Ben


P.S.: pensez à ne pas enregistrer par dessus le fichier si vous avez exécuté la macro...car elle supprimme les lignes et donc, il ne reste plus de lignes à tester!
Regardez aussi les feuilles masquées, si ca peut vous aider.
 

Pièces jointes

  • GestionAccesDemo.zip
    33 KB · Affichages: 44
T

Ti

Guest
Après avoir regardé vite fait ton code (je suis au boulot !), voici 2 ou 3 conseils de programmation :
-Travaillez TOUJOURS en Option Explicit !!!!!
- n'utilisez JAMAIS de goto dans un programme (à part le On Error Goto), c'était bon du temps du MSBasic mais les langages évolués nous offrent d'autres possibilités. Par exemple dans ta boucle, tu écris
If (i + finflottant) = fin Then GoTo line5
et ainsi tu sautes "par dessus" la boucle Do...Loop : gros risque de plantage à un moment ou un autre !
-Essayez de ne pas écrire de gigantesques procédures fourre-tout. Morcelez le travail en plusieurs petites procédures et fonctions qui se limitent chacune à une seule tâche bien définie. Bien plus simple pour repérer les erreurs.
- pensez à indenter vos lignes. Il y a de très bon programmes qui font cela automatiquement, comme par exemple, Smart Indenter que je conseille à tout le monde : http://www.bmsltd.co.uk/

Enfin, pour ce qui est du travail dans Excel, évitez autant que possible d'utiliser les sélections. C'est plus rapide.
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon