VBA_Cacher une ligne avec une variable

anais -  
 néné -
Bonjour,

Je suis en train de faire une macro attachee a un formulaire (liste deroulante a choix multiple).
Dans excel, j'ai des lignes qui contiennent en colonne C les noms de services de ma listbox (ceux qui apparaissent ds ma liste deroulante). Ce que je veux, c'est que les lignes contenant les noms de services qui ne sont pas selectionnees dans la liste deroulante du formulaire soient cachees.

Ma macro ressemble donc a ca:

Private Sub CommandButton2_Click()

Dim G, H As Integer

'H, la ligne du premier service, G les membres selectionnes

H = 43
'Netoyer les selections precedentes
Worksheets("REV ANALYSIS").Activate
Range("E43:H54").ClearContents

'assure que toutes les lignes ne sont pas cachees
Worksheets("REV ANALYSIS").Activate
Rows("43:54").EntireRow.Hidden = False

For G = 0 To 11
H = 43
If ListBox1.Selected(G) = True Then

If Worksheets("REV ANALYSIS").Cells(H, 3) <> ListBox1.List(G) Then

Rows("H:H").Hidden = True

End If

H = H + 1

End If
Next G

UserForm2.Hide

End Sub

Le bug intervient au niveau de la ligne "Rows("H:H").Hidden = True", il semble qu'il ne reconnaisse pas ma variable H.

Quelqu'un peut il m'aider, je suis vraiment bloquee......

Merci beaucoup,
anais
A voir également:

2 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

H est une variable, donc tu dois écrire
Rows(H) au lieu de rows("H:H")

au passage:

dim G, H as integer entraine G comme Variant...
Il faut écrire
Dim G as integer, H as integer
0
néné
 
Bjr

voici ce qu'il faut mettre

H est une variable

Rows("" & H & ":" & H & "").Hidden = True
0