OVH Cloud OVH Cloud

Pour les collés du dimanche Supp de lignes

5 réponses
Avatar
Pierre CFI [mvp]
Bonjour
Un petit probléme que je voudrais résoudre sans faire un roman

Dans un tableau (base), j'ai des colonnes nommées, des champs quoi
au départ il y a des noms, une ligne vide et une ligne colorée
dès que la ligne vide est correctement remplie, mon code va sur la ligne colorée et fait une insertion de lignes. Ainsi de suite
donc au départ (je prends juste un champ)
en A17 Ref produit, A18 rien, A19 couleur
Mon champ nommé Ref_produit est donc A18:A19
si je remplis 2 lignes, Ref_produit devient A18:A21
Je veux faire une R à Z , donc supprimer les lignes remplies
Sub RAZ()
Dim R As Range
For Each R In [Ref_produit]
If R <> "" Then R.EntireRow.Delete
Next
End Sub
çà, cà marche pas, çà ne tient pas compte de la remontée de la ligne aprés la supp
entre le tiercé et la messe :o)
--
Pierre CFI
MVP Microsoft Access

5 réponses

Avatar
cousinhub
Bonjour,
je suis pas trop calé, mais j'aurais fait un Step -1 pour éviter ce pb
Bon dimanche
Avatar
Pounet95
Bonjour,
Comme ça, 'à vue de nez', est-ce qu'un petit filtre automatique ne ferait
pas l'affaire ??
Sélectionner les lignes correspondant au critère 'vide'
Puis supprimer la sélection

Bon dimanche
Pounet95 ( collé par goût, pas par obligation !! )

"Pierre CFI [mvp]" a écrit dans le message de
news:
Bonjour
Un petit probléme que je voudrais résoudre sans faire un roman

Dans un tableau (base), j'ai des colonnes nommées, des champs quoi
au départ il y a des noms, une ligne vide et une ligne colorée
dès que la ligne vide est correctement remplie, mon code va sur la ligne
colorée et fait une insertion de lignes. Ainsi de suite donc au départ (je
prends juste un champ)
en A17 Ref produit, A18 rien, A19 couleur
Mon champ nommé Ref_produit est donc A18:A19
si je remplis 2 lignes, Ref_produit devient A18:A21
Je veux faire une R à Z , donc supprimer les lignes remplies
Sub RAZ()
Dim R As Range
For Each R In [Ref_produit]
If R <> "" Then R.EntireRow.Delete
Next
End Sub
çà, cà marche pas, çà ne tient pas compte de la remontée de la ligne aprés
la supp
entre le tiercé et la messe :o)
--
Pierre CFI
MVP Microsoft Access




Avatar
JB
Bonjour,

Sans boucle:

On Error Resume Next
[A19:A21].SpecialCells(xlCellTypeConstants, 23).EntireRow.Delete

JB


Bonjour
Un petit probléme que je voudrais résoudre sans faire un roman

Dans un tableau (base), j'ai des colonnes nommées, des champs quoi
au départ il y a des noms, une ligne vide et une ligne colorée
dès que la ligne vide est correctement remplie, mon code va sur la lign e colorée et fait une insertion de lignes. Ainsi de suite
donc au départ (je prends juste un champ)
en A17 Ref produit, A18 rien, A19 couleur
Mon champ nommé Ref_produit est donc A18:A19
si je remplis 2 lignes, Ref_produit devient A18:A21
Je veux faire une R à Z , donc supprimer les lignes remplies
Sub RAZ()
Dim R As Range
For Each R In [Ref_produit]
If R <> "" Then R.EntireRow.Delete
Next
End Sub
çà, cà marche pas, çà ne tient pas compte de la remontée de l a ligne aprés la supp
entre le tiercé et la messe :o)
--
Pierre CFI
MVP Microsoft Access


Avatar
Pierre CFI [mvp]
oui, mais on sait pas le nombre de lignes qui seront remplies

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"JB" a écrit dans le message de news:
Bonjour,

Sans boucle:

On Error Resume Next
[A19:A21].SpecialCells(xlCellTypeConstants, 23).EntireRow.Delete

JB


Bonjour
Un petit probléme que je voudrais résoudre sans faire un roman

Dans un tableau (base), j'ai des colonnes nommées, des champs quoi
au départ il y a des noms, une ligne vide et une ligne colorée
dès que la ligne vide est correctement remplie, mon code va sur la ligne colorée et fait une insertion de lignes. Ainsi de suite
donc au départ (je prends juste un champ)
en A17 Ref produit, A18 rien, A19 couleur
Mon champ nommé Ref_produit est donc A18:A19
si je remplis 2 lignes, Ref_produit devient A18:A21
Je veux faire une R à Z , donc supprimer les lignes remplies
Sub RAZ()
Dim R As Range
For Each R In [Ref_produit]
If R <> "" Then R.EntireRow.Delete
Next
End Sub
çà, cà marche pas, çà ne tient pas compte de la remontée de la ligne aprés la supp
entre le tiercé et la messe :o)
--
Pierre CFI
MVP Microsoft Access


Avatar
Pierre CFI [mvp]
j'ai trouvé un truc, je nomme la derniére cellule de ref_roduit (celle qui est colorée)
Sub RAZ()

Do Until [ref_produit].Rows.Count = 2

[init_ligne_sup].Offset(-2, 0).EntireRow.Delete
Loop
End Sub


--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"Pierre CFI [mvp]" a écrit dans le message de news:
Bonjour
Un petit probléme que je voudrais résoudre sans faire un roman

Dans un tableau (base), j'ai des colonnes nommées, des champs quoi
au départ il y a des noms, une ligne vide et une ligne colorée
dès que la ligne vide est correctement remplie, mon code va sur la ligne colorée et fait une insertion de lignes. Ainsi de suite
donc au départ (je prends juste un champ)
en A17 Ref produit, A18 rien, A19 couleur
Mon champ nommé Ref_produit est donc A18:A19
si je remplis 2 lignes, Ref_produit devient A18:A21
Je veux faire une R à Z , donc supprimer les lignes remplies
Sub RAZ()
Dim R As Range
For Each R In [Ref_produit]
If R <> "" Then R.EntireRow.Delete
Next
End Sub
çà, cà marche pas, çà ne tient pas compte de la remontée de la ligne aprés la supp
entre le tiercé et la messe :o)
--
Pierre CFI
MVP Microsoft Access