
Envoyé par
Pierre Fauconnier
Darkvader,
Ce serait intéressant,
dans une nouvelle discussion, que tu développes ceci
car j'ai des difficultés à comprendre le conseil que tu donnes, et pour tout dire, je le considère comme erroné et inexploitable...

N'y a-t-il une petite contradiction entre «j'ai des difficultés à comprendre» et «je le considère comme erroné et inexploitable»
à moins que ce soit parce que tu penses que le contexte actuel est inadapté ?
Dans le premier cas, il est facile de démontrer que travailler directement sur un tableau
est nettement plus rapide que travailler directement sur les cellules ,
=> si le tableau est saisi directement
1 2 3 4 5 6
| Dim plage As Range, tmp()
Set plage = [Bruts!D3:AI38]
tmp() = plage
For x = LBound(tmp) To UBound(tmp) '.../... |
=> et d'autant que le tableau est conséquent.
Idem dans le sens inverse quand une affectation en retour est nécessaire
plage.Resize(UBound(tmp), UBound(tmp, 2)) = tmp
La démonstration de vitesse comparée entre fonction de feuilles complexe et fonction VBA a démontré un facteur de 1 à 100 dans un exemple récent du forum.
Au sens de la seconde interprêtation, il est vrai que l'architecture d'un projet doit se prêter à utiliser cette méthode
notamment par l'utilisation de plage à affecter contiguë,
au cas contraire, il faut biaiser par l'utilisation de feuille cachée par exemple, etc.
Partager