Problème - Activation partielle de la macro

Bonjour,

Je rencontre un problème lors de l'application d'une Macro.

L'objectif de la macro est de masquer toutes les lignes dont la cellule C commence par "Total".

La macro fonctionne parfaitement sauf qu'elle ne s'applique pas intégralement à toute ma feuille, voici mon code :

Sub Test()

Dim i As Long
For i = Range("A1000").End(xlUp).Row To 1 Step -1
If Left(Cells(i, 3), 5) = "TOTAL" Then Rows(i).Entirerow.Hidden = True

Next i

End Sub

Je ne comprends pas pourquoi elle ne s'applique pas à toutes les lignes étant donné qu'il y a moins de 300 lignes et que ma Range part de A1000.

Si quelqu'un a une explication ?

Merci et bonne soirée.

Bonjour,

Si les mots "TOTAL" ne sont pas tous en majuscule ...

Pour compenser, ajoute "Option Compare Text" complètement au haut de la fenêtre où tu écris le code ...

Ainsi, ton code va fonctionner même si "TOTAL" est écrit avec des majuscules et minuscules ...

Un essai ...

Option Compare Text

Sub Test()
Dim i As Long

   For i = Range("A1000").End(xlUp).Row To 1 Step -1
      If Left(Cells(i, 3), 5) = "TOTAL" Then Rows(i).EntireRow.Hidden = True
   Next i
End Sub

ric

Je viens de faire le test. Le problème ne doit pas venir de là, mon soucis persiste.

Tous les mots "TOTAL" sont bien en majuscule.

Bonjour,

Est-ce que tu peux nous soumettre une copie du fichier anonymisé ?

ric

8fdt.xlsx (16.68 Ko)

Bonjour,

Ce code-ci sera mieux adapté ...

Pour trouver la dernière ligne non vide > le code le fait sur la colonne A > or > la colonne A est vide ...

Dans ce cas-ci > il faut le faire sur la colonne C > la même que la détection des mots "TOTAL" ...

Sub Test()
Dim i As Long

   For i = Range("C1000").End(xlUp).Row To 1 Step -1  '' << détecter la dernière ligne non vide en "C" 
      If Left(Cells(i, 3), 5) = "TOTAL" Then Rows(i).EntireRow.Hidden = True
   Next i
End Sub

ric

C'est parfait Ric !

Merci beaucoup !

Rechercher des sujets similaires à "probleme activation partielle macro"