Erreur d'execution 6 - dépassement de capacité

Bonsoir à tous,

Comme dit le titre de mon sujet, j'ai un problème lors de l'exécution de ma macro qui me met erreur d'execution 6.

Le problème vient de cette ligne qui affiche comme valeur 1048576 lors du debogage

LastLigne = (Range("V41").End(xlDown).Row) + 1

alors que la 1ere ligne non vide de ma plage de cellule est la ligne N°47.

Bref j'en perds mon Latin !!!

D'autant plus que lorsque je vaos dans ma feuille où se trouve ma plage de cellule et que j'exécute la macro via le lanceur de macro, alors tout marche bien !!

Je vous joins un extrait de mon fichier.

Si vous rentrer dans la cellule L4 de la feuille "Avril 2022" et que vous la valider avec entrée sans rien modifier alors cette erreur apparait.

Avez-vous des solutions pour résoudre ce problème ?

J'ai bien essayé de mettre les variables concernées en Long au lieu de Integer mais dans ce cas l'execution des macros moulinent pendant longtemps alors que les calculs sont simples et ne necessitent pas bcp de ressources.

Merci à tous de votre aide pour vous penchez sur le sujet.

A+

Wolf76.

11tests.xlsm (86.15 Ko)

Bonsoir,

Quel est le but de votre recherche ?

Le résultat de votre recherche est la ligne 1048576 qui correspond à la dernière ligne de la feuille Excel, du coup avec le +1 vous dépassez la capacité !

Si votre recherche consiste à trouver la dernière ligne non vide d'une colonne il vaut mieux remonter la colonne : DerLignePleine = Range("A" & Rows.count).end(xlUp).Row, vous donnera la dernière cellule non vide de la colonne A en partant de la ligne la plus basse Rows.Count et en remontant End(xlUp)

@ bientôt

LouReeD

Bonsoir,

Je cherche à touver la 1ere ligne vide de ma plage de cellule encommencant à partir de la cellule V41.

Par la suite en dessous de ma plage de cellule, je peux ajouter d'autres données, c'est pour ça que je souhaite démarrer à partir de la cellule V41 et aller vers le bas pour trouver la 1ere ligne non vide.

Une idée ?

Merci.

A+

Wolf76

Bonsoir,

Je pense avoir trouvé la solution, j'utilise :

LastLigne = .Cells(41, 22).End(xlDown).Offset(1, 0).Row

Vous pensez que ça va résoudre mes problèmes ?

Merci d'avance si vous avez d'autres suggestions......

Une idée de code pour supprimer une mise en forme conditionnelle ? Merci.

A+

Wolf76

Bonjour Wolf76

Non, il faut définir vos variables correctement

https://www.excel-pratique.com/fr/vba/variables

Integer Numérique Nombre entier de -32'768 à 32'767

Long Numérique Nombre entier de - 2'147'483'648 à 2'147'483'647

Comme ça

Dim LastLigne as Long

A+

Rechercher des sujets similaires à "erreur execution depassement capacite"