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

comment coller sur la première ligne vide disponible?

3 réponses
Avatar
De Causemacker eric
Bonjour, pouvez-vous m'aider =E0 trouver le code pour copier=20
la ligne d'une feuille excel sur une autre feuille mais =E0=20
la premi=E8re ligne vide de celle-ci (donc un test logique=20
de : "si la ligne est remplie alors je vais =E0 la suivante,=20
si elle est vide je colle"). Je suppose qu'il existe une=20
m=E9thode directe dans VBA mais je ne la trouve pas.

Merci =E0 tous d'avance

Eric

3 réponses

Avatar
moi....
Salut,

"plage" étant détermine auparavant, tu peux faire ceci:

Plage.Copy _
Destination:=Sheets(3).Range("a65536").End(xlUp)(2)

copiera tes données en feuille 3 sous la dernière ligne
occupée en colonne A

Salut

-----Message d'origine-----
Bonjour, pouvez-vous m'aider à trouver le code pour
copier

la ligne d'une feuille excel sur une autre feuille mais à
la première ligne vide de celle-ci (donc un test logique
de : "si la ligne est remplie alors je vais à la
suivante,

si elle est vide je colle"). Je suppose qu'il existe une
méthode directe dans VBA mais je ne la trouve pas.

Merci à tous d'avance

Eric
.



Avatar
moi....
Salut,

"plage" étant détermine auparavant, tu peux faire ceci:

Plage.Copy _
Destination:=Sheets(3).Range("a65536").End(xlUp)(2)

copiera tes données en feuille 3 sous la dernière ligne
occupée en colonne A

Salut

-----Message d'origine-----
Bonjour, pouvez-vous m'aider à trouver le code pour
copier

la ligne d'une feuille excel sur une autre feuille mais à
la première ligne vide de celle-ci (donc un test logique
de : "si la ligne est remplie alors je vais à la
suivante,

si elle est vide je colle"). Je suppose qu'il existe une
méthode directe dans VBA mais je ne la trouve pas.

Merci à tous d'avance

Eric
.



Avatar
Frédéric Sigonneau
Bonsoir,

Une approche possible pour trouver la première ligne vide dans une feuille :

Sub test()
Dim i&
For i = 1 To Rows.Count
If Application.CountA(Rows(i & ":" & i)) = 0 Then
Exit For
End If
Next
MsgBox "Première ligne vide : " & i
End Sub

Si tu as une colonne de référence (dont tu es certain qu'elle est renseignée à
toutes les lignes) tu peux aussi l'utiliser pour éviter une boucle avec ce genre
de code, qui tient compte de la possibilité que la première ligne soit vide :

Function PremCellVide(Col) As Range
'trouver la première cellule vide d'une colonne
Dim Li&
Li = Cells(Rows.Count, Col).End(xlUp).Row + _
Application.CountA(Range(Cells(1, Col), Cells(Rows.Count, Col)))
Set PremCellVide = Cells(Li, Col)
End Function 'fs

Pour l'utiliser :

Sub test()
MsgBox PremCellVide(3).Address
'ou
MsgBox PremCellVide("A").Address(0, 0)
End Sub

Tu peux également, selon l'organisation des données que tu manipules regarder du
côté de CurrentRegion (voir l'aide sur ce mot).

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour, pouvez-vous m'aider à trouver le code pour copier
la ligne d'une feuille excel sur une autre feuille mais à
la première ligne vide de celle-ci (donc un test logique
de : "si la ligne est remplie alors je vais à la suivante,
si elle est vide je colle"). Je suppose qu'il existe une
méthode directe dans VBA mais je ne la trouve pas.

Merci à tous d'avance

Eric