Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSub Transfert(sFrom As String, sTo As String) Dim x As Long For x = 1 To 9 Sheets("Stock").Range(sFrom & x + 6).Copy Sheets("000" & x).Range(sTo).PasteSpecial xlPasteValues, , , True Next End SubEt la lancer à tour de rôle avec chaque couple :
Application.Calculation = xlManual ' Mise en pause des recalculs Call Transfert("J", "G2") Call Transfert("K", "E2") Call Transfert("L", "J2") Call Transfert("N", "J3") Call Transfert("P", "J4") Application.Calculation = xlAutomatic ' Repasse en recalculs auto Calculate ' et demande un reclaculMais cela ne changera surement pas grand chose au temps d'exécution, je pense.
Private Type typeCoordonnées RangeSource As String RangeCible As String End Type
Sub maFonctionPerso() Dim aCoordonnées(1 To 5) As typeCoordonnées Dim x As Long Dim r As Long aCoordonnées(1).RangeSource = "J" aCoordonnées(1).RangeCible = "G2" aCoordonnées(2).RangeSource = "K" aCoordonnées(2).RangeCible = "E2" aCoordonnées(3).RangeSource = "L" aCoordonnées(3).RangeCible = "J2" aCoordonnées(4).RangeSource = "N" aCoordonnées(4).RangeCible = "J3" aCoordonnées(5).RangeSource = "P" aCoordonnées(5).RangeCible = "J4" For x = 1 To 9 For r = 1 To 5 Sheets("Stock").Range(aCoordonnées(r).RangeSource & x + 6).Copy Sheets("000" & x).Range(aCoordonnées(r).RangeCible).PasteSpecial xlPasteValues, , , True Next r Next x End Sub