Macro qui se plante.
Résolu
Steeve999
Messages postés
16
Statut
Membre
-
Steeve999 Messages postés 16 Statut Membre -
Steeve999 Messages postés 16 Statut Membre -
Bonjour,
j'ai une macro qui fonctionne en pas à pas et se plante en exécution automatique.
J'arrive pas à détecter le problème.
Je veux savoir c'est quoi le problème.
Et est ce que il y a une méthode pour savoir à quel endroit elle se plante ?
Voici en dessous le code.
Merci d'avance.
j'ai une macro qui fonctionne en pas à pas et se plante en exécution automatique.
J'arrive pas à détecter le problème.
Je veux savoir c'est quoi le problème.
Et est ce que il y a une méthode pour savoir à quel endroit elle se plante ?
Voici en dessous le code.
Merci d'avance.
Sub graph()
Dim i, j, k, h, x As Integer
For i = 10 To 30 Step 1
If Sheets("D").Range("O" & i) = 1 Then
Sheets("D").Rows(i - 1).Copy
Sheets("Données").Rows(i - 1).PasteSpecial Paste:=xlPasteValues
Sheets("D").Rows(i - 2).Copy
Sheets("Données").Rows(i - 2).PasteSpecial Paste:=xlPasteValues
End If
Next i
Sheets("Données").Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
For j = 1 To 50 Step 2
Sheets("Analyse").Range("A" & j) = Sheets("Données").Range("B" & j)
Sheets("Analyse").Range("B" & j) = Sheets("Données").Range("C" & j)
Sheets("Analyse").Range("C" & j) = Sheets("Données").Range("D" & j)
Next j
For k = 1 To 6 Step 2
Sheets("Données").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Sheets("Données").Range("Q" & k & ":CU" & k + 1)
With ActiveChart
.ChartType = xlLine:
.ApplyLayout (3)
.HasTitle = True
.ChartTitle.Text = Sheets("Données").Range("C" & k)
.Location Where:=xlLocationAsObject, Name:="Analyse"
End With
ActiveChart.SeriesCollection(1).Name = Sheets("Données").Range("E" & k)
ActiveChart.SeriesCollection(2).Name = Sheets("Données").Range("E" & k + 1)
Next k
Sheets("Analyse").Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
For h = 1 To 3 Step 1
With ActiveSheet.ChartObjects(h)
.Left = Range("D" & h).Left
.Top = Range("D" & h).Top
.Width = Range("D" & h).Width
.Height = Range("D" & h).Height
End With
Next h
End Sub
A voir également:
- "Pourquoi systemsettings.exe plante?"
- Plante - Guide
- Pourquoi wuauclt.exe plante? ✓ - Forum Windows
- "Pourquoi explorer.exe plante?" ✓ - Forum Windows
- Ffmpeg.exe qui plante ✓ - Forum Windows
- Wuauclt.exe: comment le désactiver ✓ - Forum Windows XP
1 réponse
Bonjour
Et est ce que il y a une méthode pour savoir à quel endroit elle se plante ?
Si lors de l'erreur, ça ne t'envoie pas sur le code vba (erreur sur la ligne jaune)
Un point d'arrêt dans la marge (clic dans la marge en face d'une instruction) arrêtera son exécution
Donc tu commences par un point d'arrêt en face du premier next i, si ça plante, l'erreur est avant, sinon, tu mets un point d'arrêt plus loin, etc ....
Cdlmnt
Et est ce que il y a une méthode pour savoir à quel endroit elle se plante ?
Si lors de l'erreur, ça ne t'envoie pas sur le code vba (erreur sur la ligne jaune)
Un point d'arrêt dans la marge (clic dans la marge en face d'une instruction) arrêtera son exécution
Donc tu commences par un point d'arrêt en face du premier next i, si ça plante, l'erreur est avant, sinon, tu mets un point d'arrêt plus loin, etc ....
Cdlmnt
Merci pour ta réponse. J'arrive à savoir à quel endroit se plante.
Cordialement.