XL 2016 Sélectionner plage jusqu'à ligne non vide

  • Initiateur de la discussion Initiateur de la discussion davidp
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

davidp

XLDnaute Occasionnel
Bonjour à tous ,

j'ai une nouvelle fois besoin de votre aide , en effet , je cherche une macro qui me permettrait de réaliser un copier coller afin de me faire gagner du temps

Je souhaiterai si c'est possible :
A partir de la feuille "base" , sélectionner la plage I10 à BD 10 jusqu'à la dernière ligne contenant des données puis coller les données dans la feuille "résultats " à partir de la cellule J4.

Un grand merci d'avance à celui qui m'aidera

Bonne journée

DAVIDP
 
Bonjour DavidP

A tester:

Code:
Sub test()
derlin = 1
For n = 9 To 56
   If Sheets("base").Cells(Rows.Count, n).End(xlUp).Row > derlin Then derlin = Sheets("base").Cells(Rows.Count, n).End(xlUp).Row
Next
Sheets("base").Range("I10:BD" & derlin).Copy Destination:=Sheets("résultats").Range("J4")
End Sub
 
Bonjour davidp, Pierre,

Ou aussi avec Find :
Code:
Sub Copier()
Dim h&
With Sheets("base").[I10:BD10].Resize(Rows.Count - 9)
    If .Cells(1) = "" Then .Cells(1) = " " 'au moins une valeur
    h = .Find("*", , xlValues, , xlByRows, xlPrevious).Row - 9
    .Resize(h).Copy Sheets("résultats").[J4]
End With
End Sub
A+
 
Bonjour DavidP

A tester:

Code:
Sub test()
derlin = 1
For n = 9 To 56
   If Sheets("base").Cells(Rows.Count, n).End(xlUp).Row > derlin Then derlin = Sheets("base").Cells(Rows.Count, n).End(xlUp).Row
Next
Sheets("base").Range("I10:BD" & derlin).Copy Destination:=Sheets("résultats").Range("J4")
End Sub


Bonjour Pierre jean

un grand merci pour votre aide , je vais tester et je vous tiens informé

bonne journée et encore merci

DAVIDP
 
Bonjour davidp, Pierre,

Ou aussi avec Find :
Code:
Sub Copier()
Dim h&
With Sheets("base").[I10:BD10].Resize(Rows.Count - 9)
    If .Cells(1) = "" Then .Cells(1) = " " 'au moins une valeur
    h = .Find("*", , xlValues, , xlByRows, xlPrevious).Row - 9
    .Resize(h).Copy Sheets("résultats").[J4]
End With
End Sub
A+
Bonjour Job75
Lorsque je colle les données dans la macro , des lignes s'affichent en rouge

- il faut bien coller les données dans un module , je ne sais pas ou j'ai fait l'erreur ?

Merci d'avance

DAVIDP

upload_2019-1-20_13-14-15.png
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
48
Affichages
973
Retour