Macro qui s'arrête au delà de 16200 ligne

Bonjour ,

Je sollicite votre aide car j'ai un fichier qui contient plus de 20000 lignes avec une macro qui me permet d'identifier des nombres toutes les deux heures.

Le problème est que cette macro ne va pas plus loin que 16200 ligne a peu près et les 4 milles autres lignes ne sont donc pas identifié.

Ci joint le code de la macro:

Sub Marquage_2heures()
Dim i As Long, DerLig As Long
Dim DerVal As Double
Application.ScreenUpdating = False
Columns(11).ClearContents
DerLig = Range("A" & Rows.Count).End(xlUp).Row
DerVal = 0
For i = 2 To DerLig
If Cells(i, "J").Font.Color = RGB(255, 0, 0) And Round(Cells(i, "C") * 1 - DerVal, 6) >= Round(2 / 24, 6) Then
Cells(i, "K") = "x"
DerVal = Round(Cells(i, "C"), 6) * 1
End If
Next i
End Sub

Pouvez m'aidez afin augmenter les lignes possible jusqu'à a un maximum?

Salut Sniperrm,

à priori, si d'autres cellules en [J:J] sont bien colorées de rouge, je ne vois pas d'autre cause que DerVal dont la valeur rendrait la condition FALSE le restant des lignes...


A+

Bonjour,

Désoler pour le délai de réponse mais mon fichier dépasse 7.5 mo et je cherche désespérément a le diminuer afin qu' il fasse 1.5 mo.

dès que j ai réussi je le mettrai en pj ou si quelqu'un a une solution pour réduire la taille de mon fichier , je suis preneur.

Bonjour Sniperrm

Voici un classeur qui peut vous faire perdre du poids

A+

Bonjour,

C'est bon réussi a réduire la taille du fichier en supprimer des onglet inutile et gardant les lignes utile qui sont nécessaire a la résolution de mon probe,

j ai creer le bouton actualisation 2h pour lancer la macro. La macro s'arrete a la ligne 16283 malgré les lignes suivantes marqué en rouge dans ma colonne j sans laisser de message d erreur.

Merci

Re,

Je pense que vous ne savez absolument pas comment fonctionne ce fichier
Il serait bien d'essayer de comprendre son fonctionnement et/ou de se former à VBA

Dans "Sub Marquage_2heures()", vous avez cette ligne

 DerLig = Range("A" & Rows.Count).End(xlUp).Row

Qui permet de récupérer la dernière ligne remplie dans la colonne A

Or, quand on affiche les colonnes... que voit-on No Comment

image

A+

Bonjour,

ton fichier confirme l'hypothèse de curulis57

à partir de la ligne 16205, la condition

Round(Cells(i, "C") * 1 - DerVal, 6) >= Round(2 / 24, 6)

est semble fausse.

Edit: BrunoM45 (dit oeil de lynx) a mis le doigt sur le problème, je me fais vieux moi !

Ah oui je suis confus merci pour votre aide.

je me sens bête pour le coup.

Vu que j'avais masquer cette ligne , je me suis fais avoir.

En tous cas je vous remercie pour votre aide.

Bonne journée a vous

A+

Salut l'équipe,

bien vu, Bruno !

Bah, ce sont les erreurs qui font progresser, non ?

A+

Rechercher des sujets similaires à "macro qui arrete 16200 ligne"