Macro - Excel ne répond pas
empereurtilleul
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai une macro qui tourne en boucle H24. Sauf que régulièrement (au moins une fois par jour), le fichier plante et reste sur "Excel ne répond pas" et remarche seulement après avoir redémarré l'ordinateur. Que faire pour éviter cette erreur?
Voici mon code:
J'ai une macro qui tourne en boucle H24. Sauf que régulièrement (au moins une fois par jour), le fichier plante et reste sur "Excel ne répond pas" et remarche seulement après avoir redémarré l'ordinateur. Que faire pour éviter cette erreur?
Voici mon code:
Const coul1 = 15 Const coul2 = xlNone 'Deux couleurs pour l'alternance des kits Const cofin = "P" 'Colonne de fin pour l'affichage Const lideb = 5 Const rouge = 3 Dim uneheure Sub Actualiser() ' ' Définit l'intervalle avec l'heure actuelle uneheure = TimeSerial(Hour(Time), Minute(Time) + 15, Second(Time)) ' Appel récursif Application.OnTime uneheure, "Actualiser" Call ActualiserStock Call ActualiserBDDTCD Call FAUXKIT Call actualisationtcd Call ActuTCD Call ActuBLK14 Call ActuGENE Call MenuPrincipal 'Call Affichage Call MenuPrincipal Call Sauvegarde 'Appel de toutes les fonctions definies End Sub Sub auto_open() Actualiser End Sub Sub auto_close() On Error Resume Next Application.OnTime uneheure, Procedure:="Actualiser", Schedule:=False End Sub Sub ActualiserStock() On Error Resume Next ' ' ActualiserStock Macro ' ' Sheets("Stock").Select Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False End Sub Sub ActuBLK14() On Error Resume Next ' ' ActuBLK14 Macro ' ' Sheets("Suivi Ref Kit BLK14").Select ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.Refresh End Sub Sub ActuGENE() On Error Resume Next ' ' ActuGENE Macro ' ' Sheets("Suivi Ref Kit GENE").Select ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.Refresh End Sub Sub ActualiserBDDTCD() ' ' ActualiserBDDTCD Macro ' ' Windows("Affichage Dynamique.xlsm").Activate Sheets("Stock").Select Columns("A:E").Select Selection.Copy Sheets("BDD TCD REF KIT").Select Columns("A:E").Select ActiveSheet.Paste Sheets("Stock").Select Columns("F:G").Select Application.CutCopyMode = False Selection.Copy Sheets("BDD TCD REF KIT").Select Columns("G:H").Select ActiveSheet.Paste End Sub Sub ActuTCD() On Error Resume Next ' ' ActuTCD Macro ' ' Sheets("Suivi Ref Kit LOG").Select ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.Refresh End Sub Sub actualisationtcd() ' ' actualisationtcd Macro ' Coller extraction stock tracking Oracle, Recherchev dans fichier regroupement, actualisation TCD ' 'recherchev Macro ' Sheets("BDD TCD REF KIT").Select ' Range("AT1").Select ActiveCell.FormulaR1C1 = "N°regroupement" Range("AU1").Select ActiveCell.FormulaR1C1 = "OP oracle" Range("AV1").Select ActiveCell.FormulaR1C1 = "Wip job" Range("AW1").Select ActiveCell.FormulaR1C1 = "Station" Range("AX1").Select ActiveCell.FormulaR1C1 = "Description OP" Range("AY1").Select ActiveCell.FormulaR1C1 = "Buff" Range("AT2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-42],Regroupement!C[-45]:C[-28],6,FALSE)" Range("AU2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-43],Regroupement!C[-46]:C[-32],15,FALSE)" Range("AV2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-44],Regroupement!C[-47]:C[-44],4,FALSE)" Range("AW2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-45],Regroupement!C[-48]:C[-44],5,FALSE)" Range("Ax2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-46],Regroupement!C[-49]:C[-28],19,FALSE)" Range("Ay2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-47],Regroupement!C[-50]:C[-28],9,FALSE)" Range("AT2:AY2").Select Selection.AutoFill Destination:=Range("AT2:AY3000"), Type:=xlFillDefault Range("AT2:AY3000").Select End Sub Sub MenuPrincipal() ' ' MenuPrincipal Macro ' ' Sheets("Suivi Ref Kit LOG").Select End Sub Sub Sauvegarde() On Error Resume Next ' ' Sauvegarde Macro ' ' ActiveWorkbook.Save End Sub Sub FAUXKIT() ' ' LAPRE Macro ' ' Rows("2:2").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("A2").Select ActiveCell.FormulaR1C1 = "OF1" Range("B2").Select ActiveCell.FormulaR1C1 = "TRACKING" Range("C2").Select ActiveCell.FormulaR1C1 = "L*APRE" Range("D2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("E2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("G2").Select ActiveCell.FormulaR1C1 = "EA" Range("H2").Select ActiveCell.FormulaR1C1 = "1" Range("L2").Select ActiveCell.FormulaR1C1 = "1" Range("AM18").Select Rows("2:2").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("A2").Select ActiveCell.FormulaR1C1 = "OF1" Range("B2").Select ActiveCell.FormulaR1C1 = "TRACKING" Range("C2").Select ActiveCell.FormulaR1C1 = "L*TR*U" Range("D2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("E2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("G2").Select ActiveCell.FormulaR1C1 = "EA" Range("H2").Select ActiveCell.FormulaR1C1 = "1" Range("L2").Select ActiveCell.FormulaR1C1 = "1" Range("AM18").Select Rows("2:2").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("A2").Select ActiveCell.FormulaR1C1 = "OF1" Range("B2").Select ActiveCell.FormulaR1C1 = "TRACKING" Range("C2").Select ActiveCell.FormulaR1C1 = "C*TR*U" Range("D2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("E2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("G2").Select ActiveCell.FormulaR1C1 = "EA" Range("H2").Select ActiveCell.FormulaR1C1 = "1" Range("L2").Select ActiveCell.FormulaR1C1 = "1" Range("AM18").Select Rows("2:2").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("A2").Select ActiveCell.FormulaR1C1 = "OF1" Range("B2").Select ActiveCell.FormulaR1C1 = "TRACKING" Range("C2").Select ActiveCell.FormulaR1C1 = "U*RCPT" Range("D2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("E2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("G2").Select ActiveCell.FormulaR1C1 = "EA" Range("H2").Select ActiveCell.FormulaR1C1 = "1" Range("L2").Select ActiveCell.FormulaR1C1 = "1" Range("AM18").Select Rows("2:2").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("A2").Select ActiveCell.FormulaR1C1 = "OF1" Range("B2").Select ActiveCell.FormulaR1C1 = "TRACKING" Range("C2").Select ActiveCell.FormulaR1C1 = "U*BUFF" Range("D2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("E2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("G2").Select ActiveCell.FormulaR1C1 = "EA" Range("H2").Select ActiveCell.FormulaR1C1 = "1" Range("L2").Select ActiveCell.FormulaR1C1 = "1" Range("AM18").Select Rows("2:2").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("A2").Select ActiveCell.FormulaR1C1 = "OF1" Range("B2").Select ActiveCell.FormulaR1C1 = "TRACKING" Range("C2").Select ActiveCell.FormulaR1C1 = "U*BUFF*EXT" Range("D2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("E2").Select ActiveCell.FormulaR1C1 = "KIT.FAUX" Range("G2").Select ActiveCell.FormulaR1C1 = "EA" Range("H2").Select ActiveCell.FormulaR1C1 = "1" Range("L2").Select ActiveCell.FormulaR1C1 = "1" Range("AM18").Select End Sub
Configuration: Windows / Chrome 91.0.4472.114
A voir également:
- Macro - Excel ne répond pas
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Mon écran se fige et plus rien ne répond - Guide
- Déplacer colonne excel - Guide
2 réponses
Bonjour
Il est fort probable que ce soit un problème de "saturation" de votre machine et pas Excel qui soit en cause.
Ouvrez le Gestionnaire de Tâche pour "voir" l'activité de votre machine pendant l'usage de la macro, vous risquez d'être surpris.
Pourquoi la laisser tourner en permanence ?
Pourquoi ne pas l'ouvrir/fermer régulièrement avec le Planificateur des Tâches ?
A+
Il est fort probable que ce soit un problème de "saturation" de votre machine et pas Excel qui soit en cause.
Ouvrez le Gestionnaire de Tâche pour "voir" l'activité de votre machine pendant l'usage de la macro, vous risquez d'être surpris.
Pourquoi la laisser tourner en permanence ?
Pourquoi ne pas l'ouvrir/fermer régulièrement avec le Planificateur des Tâches ?
A+
Bonjour
Le plantage venant de votre machine mais aussi d'Excel qui tournant en permanence la sature...
Soit tester sur une autre machine avec de meilleures capacités ou faites un batch pour fermer Excel et le rouvrir avec la macro, histoire de libérer un peu la mémoire de la machine, je ne vois que cela.
A+
Le plantage venant de votre machine mais aussi d'Excel qui tournant en permanence la sature...
Soit tester sur une autre machine avec de meilleures capacités ou faites un batch pour fermer Excel et le rouvrir avec la macro, histoire de libérer un peu la mémoire de la machine, je ne vois que cela.
A+
Néanmoins, j'ai besoin que ce fichier tourne H24 (il est utilisé par des équipes qui travaillent en 3x8h).
Est-ce que c'est possible?
Merci d'avance