Comment ralentir une macro!!!

  • Initiateur de la discussion Initiateur de la discussion Sogood
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

Sogood

Guest
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

Re : Comment ralentir une macro!!!

UBonjour,

Hello l'ami Dull😀


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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
786
Réponses
5
Affichages
912
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
528
Réponses
3
Affichages
315
Retour