Bonjour,
après avoir ouvert une discussion, mais sur le mauvais forum, maintenant résolue :
http://www.developpez.net/forums/d14...-l-espace-fin/
je sollicite votre aide pour savoir qu'elle est l'optimisation maximale que je peux atteindre pour enlever le dernier caractère d'une plage de cellules si c'est un espace.

Je passe mes hésitations du début :
1) imbrication de 2 boucles For
2) itération For Each
Rien d'intéressant, le traitement se faisait en plus d'une minute.

Ensuite, j'ai cherché à faire un rechercher/remplacer, mais ne sachant pas comment trouver l'espace dans Excel, je suis passé par un traitement sous Word : traitement fait en 2s environ.

Finalement, on m'a conseillé d'utiliser une variable de type Tableau, qui je suppose réside en RAM, sur lequel le traitement est bien plus rapide que de passer par un sondage cellule par cellule d'Excel.
J'en suis donc à un traitement en 0.05859s ce qui est sans commune mesure avec mes résultats initiaux.

Extrait de mon code actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
dtDeb = Timer
 
    Montab = Range("A4:G" & NbLig).Value
    For R = LBound(Montab, 1) To UBound(Montab, 1)
        For C = LBound(Montab, 2) To UBound(Montab, 2)
            Montab(R, C) = RTrim(Montab(R, C))
        Next C
    Next R
    Range("A4:G" & NbLig).Value = Montab
MsgBox ("Durée d'exécution : " & Timer - dtDeb & "secondes.")
Pour faire le test, j'utilise les données issues en bas de cette page que je copie/colle dans Excel en A4 avant exécution du nettoyage :
http://badmania.fr/club-Flume+Ille+Badminton-1900

On m'a dit que c'était encore optimisable, curieux par nature, j'attends vos propositions d'amélioration.

Merci d'avance de votre support,
Poussemousse