VBA: Sélection d'une plage de cellule en excluant les cellules vides

Bonjour,

Je me permet de poser cette question ici car je suis bloqué.

J'ai une plage de données de 50 lignes. Ces lignes sont alimentées par un autre tableau. Elles peuvent donc contenir des valeurs ou être vides. Cependant, même si elles sont vides, elles contiennent une formule.

Je voudrais que ma macro copie uniquement les lignes avec des valeurs.

Si possible je ne souhaite pas utiliser de boucle et que ma macro ne teste pas chaque ligne. Cela est (je pense) possible car il n'y a pas de lignes vides, mon tableau forme un bloc compact. J'ai essayé d'utiliser USED RANGE.

Vous trouverez ci-dessous mon code et en pièce jointe un fichier résumant mon cas.

Merci par avance à ceux qui m'aideront

Dim LigneTotal As Integer
Dim DerLigne As Integer

Sub test()

Feuil8.Activate
Range("a1").Select
LigneTotal = ActiveSheet.UsedRange.Rows.Count  '=> Sélection de toute la plage et non uniquement des lignes avec des données
Range("A2:K" & LigneTotal).Copy
Feuil21.Activate
Range("A1").Select
DerLigne = ActiveCell.CurrentRegion.Rows.Count + 1
Range("A" & DerLigne).Select
ActiveSheet.Paste

End Sub
19test.xlsm (484.44 Ko)

Bonjour,

Pourquoi ne pas copier les cellules vides ? Puisqu'elles sont vides !

Peut-être :

Option Explicit
Sub test()
Dim rng As Range
Dim cel As Range

   Set rng = Intersect(Feuil8.UsedRange, Feuil8.Columns("A:K"))
   Set rng = rng.Offset(1, 0).Resize(rng.Rows.Count - 1)
   With Feuil21.Range("A1").CurrentRegion
     Set cel = .Cells(.Rows.Count, 1).Offset(1)
   End With
   cel.Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value

End Sub

Salut Romain,

Clique dans la feuille 'indic mana'...

Range("A1:K" & Range("A:A").Find(what:="", LookIn:=xlValues, searchdirection:=xlNext).Row - 1).Select

A+

41romainbis.xlsm (492.26 Ko)

Cela fonctionne parfaitement merci Curulis!

Pour Patrice: je ne veux pas les copier car cela alimente par la suite un autre fichier qui compile des données, je ne veux donc pas qu'il y ait de rupture dans mon tableau. Merci pour ton aide!

Rechercher des sujets similaires à "vba selection plage excluant vides"