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

erreur d'éxécution'6'

  • Initiateur de la discussion Initiateur de la discussion jad73
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jad73

XLDnaute Occasionnel
bonjour le forum
j'ai un message "erreur d'execution'6' depassement de capacité" dans mon code vba
que je joints
c'est la ligne "DeltaV = Application.WorksheetFunction.Max(rg)" qui est surligné en jaune,comme je ne connais pas grand chose au code vba ou se trouve l'erreur.

Sub jad()
Dim wsData As Worksheet, wsR1 As Worksheet, wsR2 As Worksheet, wsR3 As Worksheet, wsR4 As Worksheet, wsR5 As Worksheet, wsR6 As Worksheet, rg As Range
Dim larg As Integer, Série1 As Variant, Série2 As Variant
Dim i%, j%, k%, nLg%, jmax%, DeltaV%, Départ%, rCol%
Dim rmax%, rLig() As Integer
'----------- Lignes à modifier selon convenance --------------
Départ = 2 'N° de la première ligne des résultats
Set wsData = Worksheets("keno") ' feuille contenant les données
Set wsR1 = Worksheets("k1")
Set wsR2 = Worksheets("k2") ' feuille contenant les réultats
Set wsR3 = Worksheets("k3")
Set wsR4 = Worksheets("k4")
Set wsR5 = Worksheets("k5")
Set wsR6 = Worksheets("k6") ' feuille contenant les réultats

wsData.Range("C1") = "Données" ' impose un titre à la base de données
'------------------------------------------------------------

i = 2 'N° de la première ligne des données
Application.ScreenUpdating = False
With wsData
Set rg = .Range("C2").CurrentRegion
Set rg = rg.Offset(1, 0).Resize(rg.Rows.Count - 1, rg.Columns.Count)
larg = rg.Columns.Count 'nbre de données sur une ligne
DeltaV = Application.WorksheetFunction.Max(rg)
ReDim rLig(DeltaV)
' inscription du N° des blocs de résultats
For j = 1 To DeltaV: rLig(j) = Départ - 1
If j < Int(255 / (larg + 1) + 1) Then
wsR1.Cells(rLig(j), (larg + 1) * (j - 1) + 1) = j: jmax = j
Else
k = k + 1: wsR2.Cells(rLig(j), (larg + 1) * (k - 1) + 1) = j
End If
Next j
Série1 = .Range(.Cells(i, 1), .Cells(i, larg)).Value
rmax = (jmax - 1) * (larg + 1) + 1
'For j = 1 To DeltaV: rLig(j) = Départ - 1: wsR.Cells(rLig(j), (larg + 1) * (j - 1) + 1) = j: Next j
'Série1 = .Range(.Cells(i, 1), .Cells(i, larg)).Value

' répartition des données dans les blocs
While i <= rg.Rows.Count
i = i + 1
Série2 = .Range(.Cells(i, 1), .Cells(i, larg)).Value
For j = LBound(Série1, 2) To UBound(Série1, 2)
rLig(Série1(1, j)) = rLig(Série1(1, j)) + 1
nLg = rLig(Série1(1, j))
rCol = (Série1(1, j) - 1) * (larg + 1) + 1
If rCol <= 0 Then MsgBox "Pas de valeur nulle dans les données. Veuillez corrigez.": Exit Sub
If rCol <= rmax Then
wsR1.Range(wsR1.Cells(nLg, rCol), wsR1.Cells(nLg, rCol + larg - 1)) = Série2
Else
k = rCol - rmax - larg: wsR2.Range(wsR2.Cells(nLg, k), wsR2.Cells(nLg, k + larg - 1)) = Série2
End If
Next j
Série1 = Série2
Wend
End With
Application.ScreenUpdating = True

End Sub
merci
 
Re : erreur d'éxécution'6'

bonjour julberto,le forum

je m'excuse si je me suis mal exprimé mais le nombre de colonnes a toujours été de 20 pour le keno(5pour le loto)les 42 c'est le programme qui les fait,c'est ce que j'ai oublié de préciser, en effet quand je clique sur le bouton de la macro les n° des blocs s'inscrivent en Apour le 1,enAQ pour le 2 en CG pour le 3.... d'ou j'ai le message"trop de feuilles résultats..."
j'ai téléchargé la version d'évalution d'excel 2010 et pas de probleme pas de message cela fonctionne.En attendant que je l'achete je vais continuer avec le copier/coller,c'est plus long tant pis.
merci quand meme,bonne journée
cordiales salutations
 
Re : erreur d'éxécution'6'

Bonjour Jad73,

Donc, de ma propre initiative j'ai changé des choses.
Tes résultats sont maintenant sur une seule feuille.
Ils sont espacés de 50 lignes (modifiables à volonté).

Ce que j'avais fait jusque là a toujours été compatible Excel 2007 à Excel 2010 quoi que tu en dises.

cordialement
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
24
Affichages
1 K
Réponses
11
Affichages
785
Réponses
1
Affichages
689
Réponses
0
Affichages
964
Réponses
2
Affichages
804
Réponses
68
Affichages
8 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…