Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sélectionner une plage avec coordonnées variables

12 réponses
Avatar
untemios
Bonjour

Dans une base de donn=E9es d'adh=E9rents =E0 un club, J'ai besoin de masque=
r
les lignes dont les colonnes L =E0 R sont vides (adh=E9rents A-1 non
encore r=E9inscrits).
Je vais =E0 la derniere ligne (VderniereLigne) et je remonte. Si la
plage L =E0 R de la ligne concern=E9e (Vligne par ex) est vide, je veux
masquer cette ligne.
Je sais faire la boucle mais je n'arrive pas =E0 =E9crire en VBA la plage
=E0 selectionner soit (" L,Vligne"=E0 "R,Vligne"..
J'ai =E9crit
If range((cells(Vligne,L):cells( Vligne,R))=3D "" then

Mais j'ai incompatibilit=E9 de type...
Avez vous une solution?
je suis s=FBr que oui, tellement cela doit =EAtre simple...quand on sait
=E9crire correctement

10 réponses

1 2
Avatar
isabelle
bonjour,

If Application.CountA(range(cells(Vligne,L), cells(Vligne,R)))= 0 then

--
isabelle



Le 2011-09-21 10:56, untemios a écrit :
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
Avatar
untemios
On 21 sep, 16:59, isabelle wrote:
bonjour,

If Application.CountA(range(cells(Vligne,L), cells(Vligne,R)))= 0 then

--
isabelle

Le 2011-09-21 10:56, untemios a crit :







> 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



J'essaie de suite.
Merci Isabelle
Avatar
untemios
On 21 sep, 16:59, isabelle wrote:
bonjour,

If Application.CountA(range(cells(Vligne,L), cells(Vligne,R)))= 0 then

--
isabelle

Le 2011-09-21 10:56, untemios a crit :


L et R sont considérés comme des variables




> 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
Avatar
Jacky
Bonsoir,

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" a écrit dans le message de news:

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
Avatar
Jacky
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" a écrit dans le message de news: j5cv8i$r5n$
Bonsoir,

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" a écrit dans le message de news:

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

Avatar
untemios
On 21 sep, 17:26, "Jacky" wrote:
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" a crit dans le message de news: j5cv8i$ peranza.aioe.org...







> Bonsoir,

> 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" a crit dans le message de news:
>
> 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



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"...
Avatar
untemios
On 21 sep, 17:26, "Jacky" wrote:
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" a crit dans le message de news: j5cv8i$ peranza.aioe.org...







> Bonsoir,

> 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" a crit dans le message de news:
>
> 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



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
Avatar
untemios
On 21 sep, 17:26, "Jacky" wrote:
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" a crit dans le message de news: j5cv8i$ peranza.aioe.org...







> Bonsoir,

> 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" a crit dans le message de news:
>
> 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



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"
Avatar
Jacky
Re....
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" a écrit dans le message de news:

On 21 sep, 17:26, "Jacky" wrote:
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" a crit dans le message de news: j5cv8i$







> Bonsoir,

> 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" a crit dans le message de news:
>
> 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



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"
Avatar
Jacquouille
C'est-t-y pas qu'il en manque encore un?
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" a écrit dans le message de news:
j5cv8i$r5n$
Bonsoir,

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" a écrit dans le message de news:

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

1 2