Afficher uniquement les lignes correspondant à une valeur

Bonjour,

Je démarre mes premiers codes VBA et je suis coincé sur celui-ci :

Le contexte :

J'ai un tableau avec 11 Colonnes (B : L) et 36 223 Lignes (11 : 36233) et une donnée variable en case (J5).

J'aimerais créer une macro pour afficher uniquement les Lignes où la valeur de la cellule ("C") correspond à la valeur de la cellule ("J5").

Voici mon code :

Sub Macro8()

'Selectionner la feuille "ZONAGE ZFA - ZFB"

Sheets("ZONAGE ZFA - ZFB").Select

' Masquer les Lignes "11" à "36 233"
Range("11:36233").Select
Selection.EntireRow.Hidden = True

' Créer une boucle à partir de la Ligne "11" pour afficher les Lignes où la valeur de la cellule "C" correspond à la valeur de la cellule "J5"

FinLigne = ActiveSheet.UsedRange.Rows.Count + 1
NumeroLigne = 11

While NumeroLigne < FinLigne
If Range("C" & NumeroLigne).Value = ("J5") Then
Rows("C" & NumeroLigne).Select
Selection.EntireRow.Hidden = False

NumeroLigne = NumeroLigne + 1

Wend

'Selectionner la cellule "J5"

Range("J5").Select

End Sub

Voyez-vous d'où peut venir mon erreur car lorsque que j'utilise le mode Débogage en Pas à pas détaillé, ça bloque dès "Sub Macro8()" ?

Merci d'avance pour votre aide et bonnes fêtes de fin d'année

bonjour,

Il y a une erreur ici

If Range("C" & NumeroLigne).Value = ("J5") Then

devrait être

If Range("C" & NumeroLigne).Value = range("J5").value Then

mais sache que pour des grands volumes, ce n'est pas très performant. Pourquoi ne pas utiliser un filtre par exemple ?

Bonjour,

Un petit fichier aurait été utile
Et que dit l'erreur ?

Oups H2SO4,

On se bouscule et de plus je n'avais pas pris le temps de lire le code
Au plaiisir

@Merci h2so4

Voici le message d'erreur que j'avais :

erreur de compilation

Sur les conseils de @h2so4, j'ai modifié mon erreur et j'ai ajouté une condition en cas d'inégalité car je ne lui donnais l'instruction quand cas d'égalité :

erreur 1

Et voici ce qui fonctionne mais, en effet, le résultat est très très long :

erreur resolue

J'ai donc essayé ce code de filtre et il fonctionne :

macro zfa

Merci @h2so4 pour le conseil !

PS : @Jacky je ne pouvais pas joindre mon fichier car les données ne peuvent pas être partagées

Voici le code complet :

Sub Macro_ZFA_ZFB()

' Macro_ZFA_ZFB Macro

'Filtrer selon code postal

Range("B9:L10").Select
Selection.AutoFilter
Range("J5:J6").Select
Selection.Copy
ActiveSheet.Range("$B$9:$L$36233").AutoFilter Field:=2, Criteria1:=Range("J5") _
, Operator:=xlAnd
Range("J5:J6").Select
Application.CutCopyMode = False
Range("J5:J6").Select

End Sub

Pas de problème Lolo80, le principal est que ai pu résoudre ton problème
Bonnes fêtes de fin d'année

Rechercher des sujets similaires à "afficher uniquement lignes correspondant valeur"