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

Copier lignes, en les insérants au dessus des autres

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

toune21

XLDnaute Impliqué
Bonjour à tous,


Je reviens vers vous, pour copier, ou transférer des lignes sur autre feuille.

Dans ma feuille de destination j'ai déjà des enregistrements, de A6 à F10.

Le résultat attendu, est : de copier les nouvelles lignes de la feuille saisie dans la feuille destination, mais au dessus des lignes déjà existantes.
C'est à dire les insérer dans la cellule A6.

J'ai essayé avec l'enregistreur macro, pour copier, dans la feuille 1 mais je n'y arrive pas,
Je remets mon fichier avec plus d'informations.

Il y a quelque semaine, j'avais vu une discussion, qui copie un certain nombre de lignes sur une autre feuille.
Dans la feuille de destination, au lieu de copier en dessous, copie au dessus,
Si vous pouvez m'aidez ce serait sympa.

Cordialement,
 

Pièces jointes

Re : Copier lignes, en les insérants au dessus des autres

Bonjour Gilbert,


Merci,
Je ne pouvais pas répondre avant, nous étions en panne d'internet dans notre bled.
Oui, le transfert ce fait bien, mais .....
Il copie bien de A2 à A6, et nous avons la ligne 7 qui est vide
J'ai lu le code mais tout compris, donc je vous mets le fichier.

Cordialement,
 

Pièces jointes

Re : Copier lignes, en les insérants au dessus des autres

la ligne vide c'est normal je l'ai fait pour différencer les deux données

au lieu de mettre
Code:
    For i = 1 To derl - 4
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Next

remplacer par
Code:
    For i = 1 To derl - 5
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Next
 
Dernière édition:
Re : Copier lignes, en les insérants au dessus des autres

Re,

D'accord, mais je n'ai pas besoin de différencier les 2 données, puisqu'elles sont dans le même mois.
Une fois mon mois de Juillet (valeur de la cellule C1) terminé je renommerai l'onglet "juillet".

Comment vider aussi les cellules A;C;E;F de la feuille saisie.

Merci encore,
Salutations
MM
 
Re : Copier lignes, en les insérants au dessus des autres

copier
Code:
    'vider les colonnes
    Sheets("saisie").Select
    Range("a6:a" & derl).ClearContents
    Range("c6:c" & derl).ClearContents
    Range("e6:f" & derl).ClearContents

au dessus de

Code:
Application.ScreenUpdating = True
 
Re : Copier lignes, en les insérants au dessus des autres

Voilà le code complet à copier coller à la place du précédent

Code:
Sub transfert()
dim derl as string
dim i as integer
dim rep as string
Application.ScreenUpdating = False
    Sheets("saisie").Select
    derl = Range("a65536").End(xlUp).Row
    Feuil3.Select
    Rows("2:2").Select
    For i = 1 To derl - 5
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Next
    Sheets("saisie").Select
    Range(Cells(6, 1), Cells(derl, 6)).Select
    Selection.Copy
    Feuil3.Select
    Feuil3.Range("a2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
        Range(Cells(2, 1), Cells(derl - 4, 2)).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = 0.399975585192419
        .PatternTintAndShade = 0
    End With
    'vider les colonnes
    Sheets("saisie").Select
    Range("a6:a" & derl).ClearContents
    Range("c6:c" & derl).ClearContents
    Range("e6:f" & derl).ClearContents
       rep = InputBox("Indiquez le Nom de la feuille")
   If rep = "" Then
   MsgBox "erreur la feuille n'est pas renommée"
   Exit Sub
   Else
    Feuil3.Name = rep
    End If

Application.ScreenUpdating = True
End Sub
 
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…