Problème lié à un dépassement de capacité

Bonjour à tous,

Alors voila je dispose d'un fichier (joins au post) avec une seule colonne "Type" présentant la lettre A ou B.

J'ai également un module "Supp" qui devrait normalement supprimer toutes les lettres B contenu dans la colonne "Type" du tableau, et ce en cliquant sur la bouton CommandButton1.

Le soucis est qu'au bout d'une certaine taille de tableau (comme présenté sur le fichier joins), on m'affiche l'erreur d’exécution '6' : Dépassement de capacité. J'ai essayer de trouver un moyen de détourner ça et ainsi pouvoir faire fonctionner ma macro librement mais je n'y arrive malheureusement pas. J'aimerai donc savoir si quelqu'un aurait une solution à mon problème soit en corrigeant ma macro, ou même en proposant une autre qui fonctionnerai de manière similaire à celle-ci.

Merci d'avance pour votre reponse, et je vous souhaite une agreable journée à tous !

Cordialement,

Clooudy

9classeur1.xlsm (219.68 Ko)

Bonjour,

C'est classique comme erreur. Déclare ton variable comme suivant :

Dim i As Long

Pendant que tu y est, rectifie cette ligne pour s'adapter à toutes les version d'Excel.

For i = Range("A1" & Rows.Count).End(xlUp).Row To 1 Step -1

Fais attention aussi quand tu déclares une ligne comme celle-ci :

Application.ScreenUpdating = False

de remettre à la fin ça :

Application.ScreenUpdating = True

Merci d'abord pour ta réponse rapide, cela fonctionne super bien !

Concernant tes autres remarques je les ai prises en compte mais y'a juste celle concernant la ligne pour s'adapter à toutes les versions d'Excel comme tu m'as expliquer qui me pose problème. Je te joins le fichier histoire que tu puisse constater par toi même, c'est peut être moi qui ai mal compris.

Cordialement,

Clooudy

11classeur1bis.xlsm (221.79 Ko)

Re,

C'est moi qui est fautif, mea culpa, gaffe réparée :

For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1

Bonjour

supprime les b & B

Sub Supp()
Dim L As Long
Application.ScreenUpdating = False
    For L = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
      If UCase(Cells(L, 1).Value) = "B" Then Rows(L).Delete
    Next
   MsgBox "Terminer"
End Sub

A+

Maurice

C'est super tout fonctionne parfaitement bien merci encore !

Rechercher des sujets similaires à "probleme lie depassement capacite"