Copier une plage de cellules et de sélectionner uniquement les cellules contenant les données

Je suis à la recherche d'un moyen de copier une plage de cellules, mais de copier seulement les cellules qui contiennent une valeur.

Dans ma feuille excel j'ai des données à partir de A1-A18, B est vide et C1-C2. Maintenant, je voudrais copier toutes les cellules qui contiennent une valeur.

 With Range("A1")
     Range(.Cells(1, 1), .End(xlDown).Cells(50, 3)).Copy
 End With

Cela permet de copier tout A1-C50, mais je ne veux A1-A18 et C1-C2 être copié vu, comme si ceux-ci contiennent des données. Mais il doit être formé de façon que, une fois que j'ai des données dans B ou mon aire de répartition s'étend, que ces copiés trop.

'So the range could be 5000 and it only selects the data with a value.
With Range("A1")
Range(.Cells(1, 1), .End(xlDown).Cells(5000, 3)).Copy
End With

Merci!


Merci à Jean, code Actuel:

Sub test()

Dim i As Integer
Sheets("Sheet1").Select
i = 1

With Range("A1")
   If .Cells(1, 1).Value = "" Then
   Else
     Range(.Cells(1, 1), .End(xlDown)).Copy Destination:=Sheets("Sheet2").Range("A" & i)
     x = x + 1
   End If
End With

Sheets("Sheet1").Select

x = 1
With Range("B1")
' Column B may be empty. If so, xlDown will return cell C65536
' and whole empty column will be copied... prevent this.
    If .Cells(1, 1).Value = "" Then
       'Nothing in this column.
       'Do nothing.
    Else
       Range(.Cells(1, 1), .End(xlDown)).Copy Destination:=Sheets("Sheet2").Range("B" & i)
       x = x + 1
    End If
End With

Sheets("Sheet1").Select

x = 1
With Range("C1")
    If .Cells(1, 1).Value = "" Then
    Else
        Range(.Cells(1, 1), .End(xlDown)).Copy Destination:=Sheets("Sheet2").Range("C" & i)
        x = x + 1
    End If
End With

End Sub

A1 - A5 contient des données, A6 est blanc, A7 contient des données. Il s'arrête à A6 et se dirige vers la colonne B, et continue de la même manière.

NB: Votre premier exemple de code permet de copier tout dans la plage A1:C67, pas A1:C50...
vos questions garder le déplacement, après avoir répondu et c'est un peu démotivant...
Je suis désolé 🙂 mais vous"ai répondu à toutes et je vous en remercie.

OriginalL'auteur CustomX | 2011-03-17