Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Dépassement de capacité avec For...Next

Pat2A

XLDnaute Junior
Bonjour,

J'ai créer une macro toute simple sous Excel 2010 pour copier des données de plusieurs feuilles (4 actuellement) et les copier dans une feuille unique. J'utilise pour cela deux boucles For..Next imbriquées.
Tout fonctionne bien sauf si une feuille contient plus de 255 lignes (w), j'ai alors le message d'erreur d'exécution '6': dépassement de capacité.
Est-ce que les boucles For...Next sont limitées ou ai-je un problème dans ma macro ?

Je ne peux joindre mon fichier qui contient des données confidentielles.

Merci de votre coopération.

MACRO:

Private Sub CommandButton1_Click()
Dim Sel As String
Dim v, w, x, y As Long
Dim i, j As Byte
Application.ScreenUpdating = False
Sel = Range("G2").Value
If Sel = "" Then
Exit Sub
End If
Range("A3:E" & Range("E3").End(xlDown).Row).Select ' Effacement des précédents imports
Selection.ClearContents
Selection.ClearComments
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
x = 1
y = Worksheets("IMPORT").Index - 1
For i = x To y
With Worksheets(i)
v = 3
w = .Range("A" & Rows.Count).End(xlUp).Row
For j = v To w
If .Cells(j, 5).Value = Sel Then
.Range(.Cells(j, 1), .Cells(j, 5)).Copy _
Destination:=Worksheets("IMPORT").Range("A" & Range("A" & Rows.Count).End(xlUp).Row + 1)
End If
Next j
End With
Next i
ActiveSheet.PageSetup.PrintArea = ActiveCell.CurrentRegion.Address
Range("G2").Select
Application.ScreenUpdating = True
End Sub
 
Dernière édition:

Jacky67

XLDnaute Barbatruc
Bonsoir,
Regarde du coté de:
"**Dim i, j As Byte**"
La limite de "Byte"
Extrait de l'aide d'Excel
../
Les variables de type Byte sont stockées sous la forme d'un nombre de 8 bits (1 octet unique), non signé, compris entre 0 et 255.
Les noms de variable doivent commencer par un caractère alphabétique, être univoques au sein d'une même portée, ne doivent pas excéder 255 caractères et ne peuvent contenir ni caractère de déclaration de type ni point.../
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
329
Réponses
4
Affichages
451
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…