Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier-colle sur plage variable + sans la 1ère ligne

  • Initiateur de la discussion Initiateur de la discussion franck70
  • 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 !

franck70

XLDnaute Junior
Bonjour à tous,

J'ai un programme qui va chercher les données dans 2 onglets et les colles dans un autre onglet. Comme le nombre de ligne est variable, j'ai ajouté qu'il devait prendre les lignes de la 2ème ligne jusqu'à la dernière ligne remplie.

Mon petit problème, c'est que quand il n'y a pas de données, la dernière ligne remplie étant la ligne d'entête, il me la prend dans le copier-coller...

Par exemple dans le fichier joint, quand je lance la macro, il me colle le libellé de l'onglet feuil 3 dans l'onglet feuil1 alors qu'il faudrait ne rien copier.

Merci pour votre aide
 

Pièces jointes

Re : Copier-colle sur plage variable + sans la 1ère ligne

Bonjour

il y a d'autres moyens de procéder mais pour votre code voilà la solution

Code:
Sub Macro1()
'
' Macro1 Macro
    Sheets("Feuil2").Select
    derlig03 = [B65000].End(xlUp).Row
    If derlig03 < 2 Then derlig03 = 2
    Range("A2:D" & derlig03).Select
    Selection.Copy
    Sheets("Feuil1").Select
    Range("A2").Select
    ActiveSheet.Paste
    Sheets("Feuil3").Select
    derlig04 = [B65000].End(xlUp).Row
    If derlig04 < 2 Then derlig04 = 2
    Range("A2:D" & derlig04).Select
    Selection.Copy
    Sheets("Feuil1").Select
    derlig05 = [B65000].End(xlUp).Row
    Range("A" & derlig05 + 1).Select
    ActiveSheet.Paste
End Sub

ou

Code:
Sub Macro1()
'
' Macro1 Macro
    derlig03 = Sheets("Feuil2").[B65000].End(xlUp).Row
    If derlig03 < 2 Then derlig03 = 2
    Sheets("Feuil2").Range("A2:D" & derlig03).Copy Sheets("Feuil1").Range("A2")
    derlig04 = Sheets("Feuil3").[B65000].End(xlUp).Row
    If derlig04 < 2 Then derlig04 = 2
    derlig05 = Sheets("Feuil1").[B65000].End(xlUp).Row
    Sheets("Feuil3").Range("A2:D" & derlig04).Copy Sheets("Feuil1").Range("A" & derlig05 + 1)
    Sheets("Feuil1").Select
End Sub

😎
 
Dernière édition:
Re : Copier-colle sur plage variable + sans la 1ère ligne

Bonsoir franck70, gilbert_RGI, le forum,
Une autre solution (cliquez sur le bouton « Mise à jour des données » de la feuille « Recap ».
Ce code peut gérer plusieurs feuilles, , à condition que la feuille « Recap » se situe en dernière position.
Cordialement,
Bernard
 

Pièces jointes

Dernière édition:
- 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
3
Affichages
506
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…