erreur d'exécution '6' dépassement de capacité

ovaron

XLDnaute Nouveau
Bonjour à tous,

j'ai depuis longtemps, un fichier exel Euromillionaire, écrit par Yves Leparmentier.

il y a 2 ans, j'ai eu : erreur d'exécution 6.
en cliquant sur débogage, la macro affiche l'erreur avec un pointeur et en surlignant la ligne en jaune, et cette ligne est : N = N + 1
cette erreur est survenue à la ligne 253 sur 3229.

Quelqu'un possède t'il ce fichier, ou avez vous une idée de ce que peut-être cette erreur?

ci-joint, la partie concernant la macro.

Je vous remercie à l'avance si l'un d'entre vous à une solution.

Sheets("Données Officielles").Select
Dim Table As Range, Cell As Range, Plage As Range
Dim Lig As Integer, i As Integer, N As Byte

Application.ScreenUpdating = False
Range(Cells(3, 51), Cells(52, 52)).ClearContents
Lig = Range("D3231").End(xlUp).Row
Set Plage = Range("AX3:AY52")
For Lig = Lig To 2 Step -1
Set Table = Range("D" & Lig, "H" & Lig)
For Each Cell In Plage
If Application.CountIf(Table, Cell) > 0 Then
If Cell.Offset(0, 1) = "" Then
Cell.Offset(0, 1) = 0
End If
Else
If Cell.Offset(0, 1) = "" Then
Cell.Offset(0, 1) = 1
Else
If Cell.Offset(0, 1) > 0 And Cell.Offset(0, 1) = N Then
Cell.Offset(0, 1) = Cell.Offset(0, 1) + 1
End If
End If
End If
Next Cell
N = N + 1
Next Lig
Application.ScreenUpdating = True
 

Staple1600

XLDnaute Barbatruc
Re : erreur d'exécution '6' dépassement de capacité

Bonjour le fil

Je t'encourage à utiliser la balise CODE pour rendre ton message plus agréable à lire.
Tu sélectionnes le code VBA présent dans ton message et tu cliques sur : code.png
et tu auras ce résultat.
Code:
Sub macro()
Dim Table As Range, Cell As Range, Plage As Range
Dim Lig As Integer, i As Integer, N As Integer

Application.ScreenUpdating = False
With Sheets("Données Officielles")
    .Range(Cells(3, 51), Cells(52, 52)).ClearContents
    Lig = .Range("D3231").End(xlUp).Row
    Set Plage = .Range("AX3:AY52")
    For Lig = Lig To 2 Step -1
        Set Table = .Range("D" & Lig, "H" & Lig)
        For Each Cell In Plage
        If Application.CountIf(Table, Cell) > 0 Then
            If Cell.Offset(0, 1) = "" Then
            Cell.Offset(0, 1) = 0
            End If
        Else
            If Cell.Offset(0, 1) = "" Then
            Cell.Offset(0, 1) = 1
            Else
                If Cell.Offset(0, 1) > 0 And Cell.Offset(0, 1) = N Then
                Cell.Offset(0, 1) = Cell.Offset(0, 1) + 1
                End If
            End If
        End If
        Next Cell
       N = N + 1
    Next Lig
End With
Application.ScreenUpdating = True
End Sub

PS: je t'ai rajouté un With/End With
 

Pièces jointes

  • code.png
    code.png
    463 bytes · Affichages: 301
  • code.png
    code.png
    463 bytes · Affichages: 303
Dernière édition:
C

Compte Supprimé 979

Guest
Re : erreur d'exécution '6' dépassement de capacité

Bonjour le fil

La grosse erreur de débutant qu'on à laisser trainer
icon_eek.gif

Code:
Dim Lig As Integer

Merci de bien vouloir remplacer par
Code:
Dim Lig As Long, N as long

Car si N suit la liste des lignes : N = N+1

Bonne journée ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87