Problème conversion 2

Bonjour,

Merci grâce à vous, j'ai un problème de régler avec la conversion que je fais.

Un deuxième problème vient d'apparaître je récupère un fichier qui contient environ 5000 lignes et avec un For c'est très long.

Y a-t-il une façon pour accélérer la vitesse d'exécution parce que même si j'arrête le calcul automatique c'est très long d'exécution.

Merci,

Oiseau bleu

3conversion-v1.xlsm (15.01 Ko)

pour ceux qui n'ont pas vue ton dernier post... tu peux nous explique c'est qui te pose problème? pour moi c'est pas très claire

Bonsoir un essai :

Sub LRD()
    Dim TabloS, TabloR() As String
    TabloS = ActiveSheet.Range("C2:C" & ActiveSheet.Range("C" & Rows.Count).End(xlUp).Row).FormulaLocal
    ReDim TabloR(1 To UBound(TabloS), 1 To 1)
    For i = 1 To UBound(TabloS)
        TabloR(i, 1) = Replace(TabloS(i, 1), "=", "-") & ""
    Next i
    ActiveSheet.Range("C2").Resize(UBound(TabloS), 1) = TabloR
End Sub

Le principe : on récupère dans un TabloS VBA (en mémoire vive) les formules comprises dans la plage de cellule. Astuce : on met Rows.Count afin de s'adapter à la taille des feuilles d'Excel sans mettre de valeur "en dur" dans le code.
On boucle sur ce tableau en mémoire vive donc, et on converti la formule récupérée en "String" avec le &"" et on supprime le "=" qu'on remplace par un tiret du 6 et on met ce résultat dans un TabloR qui a été redimensionné en fonction du TabloS.

Une fois la boucle terminée, on copie colle les donnée du TabloR sur la plage de cellule concernée par la conversion.

Résultat : un accès feuille global pour récupérer les données, un accès feuille global pour les réintégrer, quand on sait que ce sont les accès feuilles qui ralentisse bien souvent les codes...

@ bientôt

LouReeD

Bonjour,

Merci beaucoup ça fonctionne problème réglé.

Oiseau bleu

Bonsoir,

merci pour votre retour et remerciement !

@ bientôt

LouReeD

Rechercher des sujets similaires à "probleme conversion"