Macro qui se plante.

Résolu/Fermé
Steeve999 Messages postés 16 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 24 avril 2018 - 20 avril 2018 à 12:03
Steeve999 Messages postés 16 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 24 avril 2018 - 24 avril 2018 à 11:30
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.

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

1 réponse

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 427
20 avril 2018 à 15:31
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
0
Steeve999 Messages postés 16 Date d'inscription lundi 17 juillet 2017 Statut Membre Dernière intervention 24 avril 2018
24 avril 2018 à 11:30
Bonjour ccm81,

Merci pour ta réponse. J'arrive à savoir à quel endroit se plante.

Cordialement.
0