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

TheLio

XLDnaute Accro
Code Copier-Coller dernières lignes

😎Hello l'forum
J'ai des collègues un peu ... "casse fichiers"
Je cherche donc à coller sur un bouton une fonction:
Copier la dernière ligne de la feuille
sur toutes les lignes de la feuille(page imprimable) suivante
sans les valeurs, uniquement les formats et les formules, et ceci valable chaque fois qu'une "page imprimable" est pleine<(toujours dans le même onglet)
J'ai essayé avec l'enregistreur de macro, mais ne suis pas satisfait du résultat.
Merci
A++
TheLio
 

Pièces jointes

Dernière édition:
Re : Copier-Coller

Salut,

Pas facile de t'aider, tu ne mets qu'un seule feuille qui ne contient pas de feuille pleine et tu ne dis pas sur quelles feuilles il faut copier ou coller !!!
De ce que j'ai compris, je pense qu'une base de la structure du code serait quelque chose de ce genre :
Code:
Sub test()
Dim der_lig%, i%, k%
Sheets("Feuil1").Select
'recup de la dernier ligne de ta feuille Feuil1
der_lig = Range("D65536").End(xlUp).Row
For k = 1 To Sheets.Count
'je pense qu'il fo mettre une condition sur les feuilles a traiter
    With Sheets(k)
        If der_lig = .Range("D65536").End(xlUp).Row Then
            Range("B" & .Range("D65536").End(xlUp).Row & ":Y" & .Range("D65536").End(xlUp).Row).Copy
            Range("B" & .Range("D65536").End(xlUp).Row).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End If
    End With
Next k
End Sub

@+
 
Re : Copier-Coller

'lut Romain, merci de t'intéresser à mon cas désespéré. 🙂
Jusque là, ça baigne, ensuite il faudrait simplement fair un coller sur les 20 lignes suivantes dans le même onglet (je pense que c'est le plus simple) mais je galère toujours lorsqu'il faut trouver les dernières lignes.
A++ et re-merci d'avance
 
Re : Copier-Coller

Salut,

Rapidement, essaie de modifier la ligne de code suivante :
Range("B" & .Range("D65536").End(xlUp).Row + 20).PasteSpecial Paste:=xlPasteFormulasAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

@+


 
Re : Copier-Coller

re,

Tu ne peux pas mettre la mise en forme par la suite ?
Parce que dans le collage spécial, tu ne peux pas garder la mise en forme en plus des formules.
Donc il faut que tu rajoutes un bout de code pour tes lignes.
Je te laisse essayer de le faire en utilisant l'enregistreur de macro, si vraiment tu as un soucis, je te donnerai un coup de main.
Bon courage,

@+
 
Re : Copier-Coller

Bonjour TheLio, Romain

si j'ai bien compris, mais pas sur ...

Code:
With Sheets(K)
    With Range("B" & .Range("D65536").End(xlUp).Row + 20)
        .PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
        .PasteSpecial Paste:=xlPasteFormats
    End With
End With

à tester...

bonne journée
@+

Edition j'ai raccourci un peu le code
 
Dernière édition:
Re : Copier-Coller

Alors je vais essayer d'être clair dans mes explications
Ton code fonctionne à merveille:
Quand j'insère celui à Pierrot (certainement au mauvais endroit) ça bug
Sub Copier_dernière_ligne()

Code:
    ActiveSheet.Unprotect
Dim der_lig%, i%, k%
Sheets("Feuil1").Select
'recup de la dernier ligne de ta feuille Feuil1
der_lig = Range("D65536").End(xlUp).Row
For k = 1 To Sheets.Count
    With Sheets("Feuil1")
        If der_lig = .Range("D65536").End(xlUp).Row Then
            Range("B" & .Range("D65536").End(xlUp).Row & ":Y" & .Range("D65536").End(xlUp).Row).Copy
            With Sheets(k)
    With Range("B" & .Range("D65536").End(xlUp).Row + 20)
        .PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
        .PasteSpecial Paste:=xlPasteFormats
    End With
End With
Next k
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Le deuxième truc ou je galère, c'est que ça me colle tout 20 lignes plus bas alors j'ai essayé avec "entire" mais là j'coince aussi

re-re-re-...-merci

A++
TheLio
 
Re : Copier-Coller

Re

rajoutes peut être un point comme ci dessous en rouge :

Code:
With [COLOR="Red"][B].[/B][/COLOR]Range("B" & .Range("D65536").End(xlUp).Row + 20)
        .PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
        .PasteSpecial Paste:=xlPasteFormats
    End With

sinon, sur quelle ligne ca bogue ? ligne surlignée en jaune quand tu es en mode debogage

@+
 
Re : Copier-Coller

M E R C I
Ok, c'est de la balle maintenant, le petit "truc" qui coinçait:
😀 J'avais pas de "end if" mais l'éditeur ne le voyait pas 😀
Par contre, il me reste à trouver le bon truc car là, je n'ai qu'une ligne sur 20 qui est collée
Code:
Row + 20)
et là, je ne connait toujours pas la soluce

Edit. en attendant, j'ai changé par
Code:
Row + 1)
et l'utilisateur n'a qu'à s'exciter un peu sur son "clic gauche"
 
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
10
Affichages
1 K
Réponses
1
Affichages
466
Retour