Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Traitement macro très très long, est-il possible de raccourcir le temps de traitement ?

Philippe LAMACHE

XLDnaute Junior
Bonjour à tous,

Comme je le demande dans l'objet de ce post, y aurai-t'il une solution pour accélérer le traitement de cette macro ?
(environ 30 mn pour 50 000 lignes actuellement)
VB:
Sub Ajout_Col()
MaFeuil = Feuil3.[A1048576].End(xlUp).Value
Worksheets(MaFeuil).Select
dercol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
Range([A14], [A14].SpecialCells(xlLastCell)).Select
Selection.Resize(, 1).Select
Selection.Offset(0, dercol).Select
Selection.Offset(-1, 0).Value = "RGF"
Selection.Offset(-1, 1).Value = "RGF2"
For Each c In Selection
    txt = Len(c.Offset(0, -28)) + Len(c.Offset(0, -27))
    If txt > 1 Then
        MaValue = c.Offset(0, -35).Value & " " & c.Offset(0, -34).Value & "-" & c.Offset(0, -27).Value
        MaValue1 = c.Offset(0, -35).Value & " " & _
                    c.Offset(0, -34).Value & " " & _
                    c.Offset(0, -31).Value & " " & _
                    c.Offset(0, -30).Value & " " & _
                    c.Offset(0, -28).Value & " " & _
                    c.Offset(0, -27).Value
    Else
        MaValue = c.Offset(0, -35).Value & " " & c.Offset(0, -34).Value & "-" & c.Offset(0, -30).Value
        MaValue1 = c.Offset(0, -35).Value & " " & _
                    c.Offset(0, -34).Value & " " & _
                    c.Offset(0, -31).Value & " " & _
                    c.Offset(0, -30).Value
    End If
    If c.Offset(0, -35) <> "" Then
        c.Value = MaValue
        c.Offset(0, 1).Value = MaValue1
    ElseIf c.Offset(0, -35).Value = " " Then
        Exit Sub
    End If
Next c
End Sub

Par avance, merci.
 

Philippe LAMACHE

XLDnaute Junior
Bonjour Dranreb,

Merci pour d'avoir pris le temps de modifier le code pour moi et aussi pour les explications. Bonne journée.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…