Sélectionner une plage avec coordonnées variables
Le
untemios

Bonjour
Dans une base de données d'adhérents à un club, J'ai besoin de masque=
r
les lignes dont les colonnes L à R sont vides (adhérents A-1 non
encore réinscrits).
Je vais à la derniere ligne (VderniereLigne) et je remonte. Si la
plage L à R de la ligne concernée (Vligne par ex) est vide, je veux
masquer cette ligne.
Je sais faire la boucle mais je n'arrive pas à écrire en VBA la plage
à selectionner soit (" L,Vligne"à "R,Vligne"..
J'ai écrit
If range((cells(Vligne,L):cells( Vligne,R))= "" then
Mais j'ai incompatibilité de type
Avez vous une solution?
je suis sûr que oui, tellement cela doit être simplequand on sait
écrire correctement
Dans une base de données d'adhérents à un club, J'ai besoin de masque=
r
les lignes dont les colonnes L à R sont vides (adhérents A-1 non
encore réinscrits).
Je vais à la derniere ligne (VderniereLigne) et je remonte. Si la
plage L à R de la ligne concernée (Vligne par ex) est vide, je veux
masquer cette ligne.
Je sais faire la boucle mais je n'arrive pas à écrire en VBA la plage
à selectionner soit (" L,Vligne"à "R,Vligne"..
J'ai écrit
If range((cells(Vligne,L):cells( Vligne,R))= "" then
Mais j'ai incompatibilité de type
Avez vous une solution?
je suis sûr que oui, tellement cela doit être simplequand on sait
écrire correctement
If Application.CountA(range(cells(Vligne,L), cells(Vligne,R)))= 0 then
--
isabelle
Le 2011-09-21 10:56, untemios a écrit :
J'essaie de suite.
Merci Isabelle
Il ne doit pas y avoir de formule dans la zone L:R
'----------------------------
Sub jj()
With Feuil1
derlg = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
For i = derlg To 2 Step -1
If Application.CountA(.Range(Cells(i, 12), Cells(i, 18))) = 0 Then
.Rows(i).Hidden = True
End If
Next
End With
End Sub
'----------------------------
--
Salutations
JJ
"untemios"
Bonjour
Dans une base de données d'adhérents à un club, J'ai besoin de masquer
les lignes dont les colonnes L à R sont vides (adhérents A-1 non
encore réinscrits).
Je vais à la derniere ligne (VderniereLigne) et je remonte. Si la
plage L à R de la ligne concernée (Vligne par ex) est vide, je veux
masquer cette ligne.
Je sais faire la boucle mais je n'arrive pas à écrire en VBA la plage
à selectionner soit (" L,Vligne"à "R,Vligne"..
J'ai écrit
If range((cells(Vligne,L):cells( Vligne,R))= "" then
Mais j'ai incompatibilité de type...
Avez vous une solution?
je suis sûr que oui, tellement cela doit être simple...quand on sait
écrire correctement
Remplacer
If Application.CountA(.Range(Cells(i, 12),.Cells(i, 18))) = 0 Then
par
If Application.CountA(.Range(.Cells(i, 12), .Cells(i, 18))) = 0 Then
--
Salutations
JJ
"Jacky"
Bonjour Jacky
la macro s'arrête sur .Rows(i).Hidden= true et j'ai erreur 1004 "
impossible de definir la propriété Hidden de la classe Range"...
J'ai écrit ça
Sub MasquerAdhérentsNonRéinscrit()
Dim i
With Sheets("Base_de_données")
VDerniereligne = .Range("c50000").End(xlUp).Row
For i = VDerniereligne To 4 Step -1
If Application.CountA(.Range(.Cells(i, 12), .Cells(i, 18))) =
0 Then
.Rows(i).Hidden = True
End If
Next
End With
End Sub
J'ai ecrit ça
Sub MasquerAdhérentsNonRéinscrit()
Dim i
With Sheets("Base_de_données")
VDerniereligne = .Range("c50000").End(xlUp).Row
For i = VDerniereligne To 4 Step -1
If Application.CountA(.Range(.Cells(i, 12), .Cells(i, 18))) =
0 Then
.Rows(i).Hidden = True
End If
Next
End With
End Sub
et la macro s'arrête sur .Rows(i).Hidden = true et j'ai le message
'impossible de definir la propriété Hidden de la classe range"
Je n'ai pas cette erreur
http://www.cijoint.fr/cjlink.php?file=cj201109/cijHeSsO9P.xls
Ps Ma souris et moi remercions les questionneurs de répondre au-dessus des messages (c'est la coutume sur ce
forum)
--
Salutations
JJ
"untemios"
On 21 sep, 17:26, "Jacky"
J'ai ecrit ça
Sub MasquerAdhérentsNonRéinscrit()
Dim i
With Sheets("Base_de_données")
VDerniereligne = .Range("c50000").End(xlUp).Row
For i = VDerniereligne To 4 Step -1
If Application.CountA(.Range(.Cells(i, 12), .Cells(i, 18))) 0 Then
.Rows(i).Hidden = True
End If
Next
End With
End Sub
et la macro s'arrête sur .Rows(i).Hidden = true et j'ai le message
'impossible de definir la propriété Hidden de la classe range"
Enfin, mieux vaut des points perdus que des coups de pieds au cul. -)
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"Jacky" a écrit dans le message de groupe de discussion :
j5cvmo$sj4$
Il y a des points qui se sont perdus ;o))
Remplacer
If Application.CountA(.Range(Cells(i, 12),.Cells(i, 18))) = 0 Then
par
If Application.CountA(.Range(.Cells(i, 12), .Cells(i, 18))) = 0 Then
--
Salutations
JJ
"Jacky" j5cv8i$r5n$