Erreur d'exécution 6 Dépassement de capacité
Résolu/Fermé
MMAGNIN
Messages postés
7
Date d'inscription
samedi 6 décembre 2014
Statut
Membre
Dernière intervention
7 décembre 2014
-
6 déc. 2014 à 22:38
Maurice - 7 déc. 2014 à 13:09
Maurice - 7 déc. 2014 à 13:09
A voir également:
- Erreur d'execution 6 dépassement de capacité
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Nero 6 - Télécharger - Gravure
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
9 réponses
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
951
Modifié par Mytå le 6/12/2014 à 23:02
Modifié par Mytå le 6/12/2014 à 23:02
Salut le Forum
Un test sur le nombre max de lignes (Pour a et b)
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
« Si le déboguage est l'art d'enlever les bogues, alors la programmation doit être l'art de les créer. »
Un test sur le nombre max de lignes (Pour a et b)
If a > 1048576 Then Exit Sub
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
« Si le déboguage est l'art d'enlever les bogues, alors la programmation doit être l'art de les créer. »
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
6 déc. 2014 à 23:12
6 déc. 2014 à 23:12
Bonjour à tous,
Tu es limité à 256, met As Long.
eric
Dim a As Integer
Tu es limité à 256, met As Long.
eric
MMAGNIN
Messages postés
7
Date d'inscription
samedi 6 décembre 2014
Statut
Membre
Dernière intervention
7 décembre 2014
Modifié par MMAGNIN le 6/12/2014 à 23:43
Modifié par MMAGNIN le 6/12/2014 à 23:43
Bonsoir Eric,
Après remplacement de As Integer par As Long
La macro m'affiche ''erreur d'exécution 1004''
Erreur définie par l'application ou par l'objet
L'erreur est dans la ligne suivante :
If Sheets("Feuil1").Range("E" & a).Value <> "" Then
Pour info je suis un débutant
Merci d'avance de votre retour,
Après remplacement de As Integer par As Long
La macro m'affiche ''erreur d'exécution 1004''
Erreur définie par l'application ou par l'objet
L'erreur est dans la ligne suivante :
If Sheets("Feuil1").Range("E" & a).Value <> "" Then
Pour info je suis un débutant
Merci d'avance de votre retour,
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
7 déc. 2014 à 00:07
7 déc. 2014 à 00:07
Et bien quelqu'un pourra regarder quand tu auras répondu à myta (au-dessus).
Quand tu colles un code indente-le et met-le en forme avec l'icone <>
Et un fichier de travail générera plus de réponses : cjoint.com et coller ici le lien fourni.
eric
Quand tu colles un code indente-le et met-le en forme avec l'icone <>
Et un fichier de travail générera plus de réponses : cjoint.com et coller ici le lien fourni.
eric
MMAGNIN
Messages postés
7
Date d'inscription
samedi 6 décembre 2014
Statut
Membre
Dernière intervention
7 décembre 2014
>
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 déc. 2014 à 00:17
7 déc. 2014 à 00:17
Merci pour ta réponse Eric,
Voici le lien de mon fichier :
http://www.cjoint.com/data3/3LhawrgLkhK.htm
Voici le lien de mon fichier :
http://www.cjoint.com/data3/3LhawrgLkhK.htm
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
7 déc. 2014 à 08:44
7 déc. 2014 à 08:44
Bonjour à tous
tu implémente "i" que lorsqu'il y a qqchose dans la colonne E
donc quand tu dépasses la dernière ligne de E ta boucle tourne sur elle m^me ("i" ne s'implémente plus puisqu'inséré dans le "if")jusqu'à ce que "a" dépasse la capacité d'un type "long"
tu implémente "i" que lorsqu'il y a qqchose dans la colonne E
donc quand tu dépasses la dernière ligne de E ta boucle tourne sur elle m^me ("i" ne s'implémente plus puisqu'inséré dans le "if")jusqu'à ce que "a" dépasse la capacité d'un type "long"
MMAGNIN
Messages postés
7
Date d'inscription
samedi 6 décembre 2014
Statut
Membre
Dernière intervention
7 décembre 2014
7 déc. 2014 à 10:25
7 déc. 2014 à 10:25
Salut michel,
Pour corriger le code je dois faire comment SVP ?
Je suis un novice
Merci d'avance de ta réponse.
Pour corriger le code je dois faire comment SVP ?
Je suis un novice
Merci d'avance de ta réponse.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Je pense a un truc comme ca
A+
Maurice
Je pense a un truc comme ca
Sub Test() Dim L As Long Dim B As Long B = 1 Application.ScreenUpdating = False DernLigne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row For L = 1 To DernLigne If Range("E" & L).Value > 0 Then Range("A" & L & ":D" & L).Copy Sheets("Feuil2").Range("A" & B).PasteSpecial xlPasteValues B = B + 1 End If Next Application.ScreenUpdating = True Application.CutCopyMode = False End Sub
A+
Maurice
MMAGNIN
Messages postés
7
Date d'inscription
samedi 6 décembre 2014
Statut
Membre
Dernière intervention
7 décembre 2014
7 déc. 2014 à 11:55
7 déc. 2014 à 11:55
Salut Maurice,
Tout d'abord merci pour ta réponse
J'ai essayé ton code, il marche sans problème
mais le souci c'est que il prend toutes les lignes de la feuille1 et il les colle dans la feuille2. Or moi je voulais qu'il copie juste 40 lignes de la feuille1, parce que dans la feuille2 je suis limité à 40 lignes.
Peux-tu m'apporter cette modification STP, j'en serai vraiment reconnaissant
D'avance merci,
Tout d'abord merci pour ta réponse
J'ai essayé ton code, il marche sans problème
mais le souci c'est que il prend toutes les lignes de la feuille1 et il les colle dans la feuille2. Or moi je voulais qu'il copie juste 40 lignes de la feuille1, parce que dans la feuille2 je suis limité à 40 lignes.
Peux-tu m'apporter cette modification STP, j'en serai vraiment reconnaissant
D'avance merci,
MMAGNIN
Messages postés
7
Date d'inscription
samedi 6 décembre 2014
Statut
Membre
Dernière intervention
7 décembre 2014
7 déc. 2014 à 12:22
7 déc. 2014 à 12:22
quant je mets :
DernLigne = 40
For L = 1 To 40
Il me prends 40 lignes de la feuille1 et il les copie dans la feuille2, mais pas que les lignes avec la cellule E pleine, il prends les deux cas (cellule E pleine et cellule E vide). moi je veux qu'il me prenne que les lignes là où la cellule E est pleine (une valeur).
je m'excuse pour le dérangement.
DernLigne = 40
For L = 1 To 40
Il me prends 40 lignes de la feuille1 et il les copie dans la feuille2, mais pas que les lignes avec la cellule E pleine, il prends les deux cas (cellule E pleine et cellule E vide). moi je veux qu'il me prenne que les lignes là où la cellule E est pleine (une valeur).
je m'excuse pour le dérangement.
re
je pense que tu maitise pas du tout les macro
regarde bien
A+
Maurice
je pense que tu maitise pas du tout les macro
regarde bien
Sub Test() Dim DernLigne As Long Dim L As Long Dim B As Long B = 1 Application.ScreenUpdating = False Feuil2.Cells.ClearContents 'DernLigne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row DernLigne = 40 For L = 1 To DernLigne If Range("E" & L).Value > 0 Then Range("A" & L & ":E" & L).Copy Feuil2.Range("A" & B).PasteSpecial xlPasteValues B = B + 1 ' If B > 40 Then Exit For End If Next Application.ScreenUpdating = True Application.CutCopyMode = False End Sub
A+
Maurice
MMAGNIN
Messages postés
7
Date d'inscription
samedi 6 décembre 2014
Statut
Membre
Dernière intervention
7 décembre 2014
7 déc. 2014 à 12:54
7 déc. 2014 à 12:54
Merci Maurice pour le temps consacré
Oui, j'avoue que je ne maîtrise pas du tout les macros, j'ai jamais fait c'est ma première fois
Merci encore
A+
Oui, j'avoue que je ne maîtrise pas du tout les macros, j'ai jamais fait c'est ma première fois
Merci encore
A+
re
et pour copier 40 Ligne sur la feuille2
A+
Bon je vais manger
Maurice
et pour copier 40 Ligne sur la feuille2
Sub Test() Dim DernLigne As Long Dim L As Long Dim B As Long B = 1 Application.ScreenUpdating = False Feuil2.Cells.ClearContents DernLigne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row For L = 1 To DernLigne If Range("E" & L).Value > 0 Then Range("A" & L & ":E" & L).Copy Feuil2.Range("A" & B).PasteSpecial xlPasteValues B = B + 1 If B > 40 Then Exit For End If Next Application.ScreenUpdating = True Application.CutCopyMode = False End Sub
A+
Bon je vais manger
Maurice
6 déc. 2014 à 23:05
Et tu veux faire quoi avec ton code . . .
Mytå