Optimisation VBA

Bonjour,

Une idée pour optimiser ce morceau de code ?

  Sheets("filtre").Activate
        Range("A20:B121").Select
        Selection.Copy
        Sheets("cmd").Select
        Range("BY2").Select
        ActiveSheet.Paste
        Sheets("cmd").Activate
        Columns("BY:BZ").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Columns("BY:BY").Select
        Selection.Replace What:="#N/A", Replacement:="La commande n'est pas lier à un", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        Columns("BZ:BZ").Select
        Selection.Replace What:="#N/A", Replacement:="projet !", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

Bonjour,

sans voir le fichier donc le pourquoi du "pastespécial" et des replaces. çà va être difficile de proposer mieux

Pour la première partie : copie d'une plage ( puisqu'elle est en dur sans variable) alors à la place de :

 Sheets("filtre").Activate
        Range("A20:B121").Select
        Selection.Copy
        Sheets("cmd").Select
        Range("BY2").Select
        ActiveSheet.Paste

ceci devrait être tout aussi bien :

Worksheets("cmd").Range("BY2:BZ103").value=Worksheets("filtre").Range("A20:B121").value

Merci Xmenpl, le paste spécial c'est parce que c'est une formule et ça dois être une valeur

Merci Xmenpl, le paste spécial c'est parce que c'est une formule et ça dois être une valeur

Ok donc si tu utilises la ligne de code ci-dessus tu ne devrais plus avoir besoin du paste spécial car tu indiques seulement que :

la valeur de telles cellules = valeur de telles cellules.

Worksheets("cmd").Range("BY2:BZ103").value=Worksheets("filtre").Range("A20:B121").value

Non cela ne fonctionne pas, parce qu'on colle une formule qui dois être interpréter avant d'être coller en valeur

Rechercher des sujets similaires à "optimisation vba"