Comment ralentir une macro!!!

Sogood

XLDnaute Nouveau
Bonjour,
J'ai comme souci une macro qui est un poil trop rapide. en effet lorsque mon TCD se réactualise la macro n'attend pas que toutes les données puissent être disponible pour copier et coller de ce TDC.

Comment faire ;)


Merci d'avance
Saw

mon code :

Sub Plan_NHO()

Dim i As Integer

For i = 4 To 1000


If Not IsEmpty(Sheets("Planning NHO").Range("M" & i)) Then
Sheets("Planning NHO").Range("M" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("M" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If


If Not IsEmpty(Sheets("Planning NHO").Range("N" & i)) Then
Sheets("Planning NHO").Range("N" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("N" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If


If Not IsEmpty(Sheets("Planning NHO").Range("O" & i)) Then
Sheets("Planning NHO").Range("O" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("O" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If


If Not IsEmpty(Sheets("Planning NHO").Range("P" & i)) Then
Sheets("Planning NHO").Range("P" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("P" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If


If Not IsEmpty(Sheets("Planning NHO").Range("Q" & i)) Then
Sheets("Planning NHO").Range("Q" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("Q" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If


If Not IsEmpty(Sheets("Planning NHO").Range("R" & i)) Then
Sheets("Planning NHO").Range("R" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("R" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If


If Not IsEmpty(Sheets("Planning NHO").Range("S" & i)) Then
Sheets("Planning NHO").Range("S" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("S" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If


If Not IsEmpty(Sheets("Planning NHO").Range("T" & i)) Then
Sheets("Planning NHO").Range("T" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("T" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If


If Not IsEmpty(Sheets("Planning NHO").Range("U" & i)) Then
Sheets("Planning NHO").Range("U" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("U" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If


If Not IsEmpty(Sheets("Planning NHO").Range("V" & i)) Then
Sheets("Planning NHO").Range("V" & i).Cut Destination:=Sheets("Planning NHO").Range("Z" & i)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Planning NHO").Range("V" & i)
Sheets("Planning NHO").Range("Z" & i).Cut Destination:=Sheets("Planning NHO").Range("J" & i)
End If

Next

For i = 4 To 1000

Sheets("Planning NHO").Range("C" & i).Cut Destination:=Sheets("Agrégat").Range("B" & i - 2)
Sheets("Planning NHO").Range("D" & i).Cut Destination:=Sheets("Agrégat").Range("C" & i - 2)
Sheets("Planning NHO").Range("E" & i).Cut Destination:=Sheets("Agrégat").Range("D" & i - 2)
Sheets("Planning NHO").Range("F" & i).Cut Destination:=Sheets("Agrégat").Range("E" & i - 2)
Sheets("Planning NHO").Range("G" & i).Cut Destination:=Sheets("Agrégat").Range("F" & i - 2)
Sheets("Planning NHO").Range("H" & i).Cut Destination:=Sheets("Agrégat").Range("G" & i - 2)
Sheets("Planning NHO").Range("I" & i).Cut Destination:=Sheets("Agrégat").Range("H" & i - 2)
Sheets("Planning NHO").Range("J" & i).Cut Destination:=Sheets("Agrégat").Range("I" & i - 2)
Sheets("Planning NHO").Range("M" & i).Cut Destination:=Sheets("Agrégat").Range("L" & i - 2)
Sheets("Planning NHO").Range("N" & i).Cut Destination:=Sheets("Agrégat").Range("M" & i - 2)
Sheets("Planning NHO").Range("O" & i).Cut Destination:=Sheets("Agrégat").Range("N" & i - 2)
Sheets("Planning NHO").Range("P" & i).Cut Destination:=Sheets("Agrégat").Range("O" & i - 2)
Sheets("Planning NHO").Range("Q" & i).Cut Destination:=Sheets("Agrégat").Range("P" & i - 2)
Sheets("Planning NHO").Range("R" & i).Cut Destination:=Sheets("Agrégat").Range("Q" & i - 2)
Sheets("Planning NHO").Range("S" & i).Cut Destination:=Sheets("Agrégat").Range("R" & i - 2)
Sheets("Planning NHO").Range("T" & i).Cut Destination:=Sheets("Agrégat").Range("S" & i - 2)
Sheets("Planning NHO").Range("U" & i).Cut Destination:=Sheets("Agrégat").Range("T" & i - 2)
Sheets("Planning NHO").Range("V" & i).Cut Destination:=Sheets("Agrégat").Range("U" & i - 2)

Next

For i = 7 To 25
If Sheets("Tableaux Croisés Dynamiques").Range("A" & i) <> "Total général" Then
Sheets("Tableaux Croisés Dynamiques").Range("A" & i & ":K" & i).Copy Destination:=Sheets("Production Hébdomadaire").Range("B" & i - 4 & ":L" & i - 4)

End If
Next

End Sub
 

Pièces jointes

  • GS 3.zip
    91.7 KB · Affichages: 46
  • GS 3.zip
    91.7 KB · Affichages: 48
  • GS 3.zip
    91.7 KB · Affichages: 46
G

Guest

Guest
Re : Comment ralentir une macro!!!

UBonjour,

Hello l'ami Dull:D


Lancer la macro dans l'évènement

Code:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
End Sub

Qui est censé se produire après la mise à jour du tableau croisé dynamique représenté par 'Target'

A+
A+++Dull


[Edit] ah oui, j'avais oublié qu'il vaut mieux faire compliqué quand on peut faire simple.
 
Dernière modification par un modérateur:

Rikikiller

XLDnaute Junior
Re : Comment ralentir une macro!!!

Bonjour Sogood, le forum,

Peut être une solution ci après :

en declaration

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

et dans la macro

Sleep (1000) ' pour une temporisation de 1 seconde

A+

Rikikiller
 

Discussions similaires

Réponses
11
Affichages
347
Réponses
17
Affichages
911
Réponses
28
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 851
Membres
103 974
dernier inscrit
chmikha