Copie de données vers la feuille BACKUP

Bonjour le forum

Je souhaite copier - coller des données suivant les critères ci-dessous

données à copier:

  • feuille "DONNEES"
  • plage à copier : cellule A2 jusqu'à la dernière cellule non vide de la colonne L (A2:L).
Les critères de collage sont les suivantes:
  • feuille de destination "BACKUP"
  • cellule de destination : première cellule vide de la colonne A.
NB : après le collage, la plage copier de la feuille "DONNEES" devra être purgée (effacer) afin qu'on puisse commencer la nouvelle facturation du jour.

Bonjour

Le code à placer dans un module dans l'éditeur VBA et à lier à un bouton

Sub copier()
'Dan - 03/12/19
Dim plage As Range
Dim dlg As Integer

With Feuil1
    Set plage = .Range("A2:L" & .UsedRange.Rows.Count)
    dlg = Feuil3.UsedRange.Rows.Count
    plage.Copy Feuil3.Range("A" & dlg)
    F.Range("A2:L" & .UsedRange.Rows.Count).Interior.Pattern = xlNone
    plage.ClearContents
End With

End Sub

Cordialement

Bonsoir Dan

Merci pour votre solution.

Dans le fichier test, le code fonctionne bien.

J'ai copié le même code et je l'ai collé dans un module du fichier réel mais je reçoit une message d'erreur "dépassement de capacité".

Dim plage As Range

Dim dlg As Integer

With Feuil2

Set plage = .Range("A2:L" & .UsedRange.Rows.Count)

dlg = Feuil33.UsedRange.Rows.Count

plage.Copy Feuil33.Range("A" & dlg)

.Range("A2:L" & .UsedRange.Rows.Count).Interior.Pattern = xlNone

plage.ClearContents

End With

J'ai essayé en vain de comprendre ce qui se passe mais rien.

Re

Sur quelle ligne recevez vous ce message ?

Sinon, je vois que vous n'avez pas bien recopié le code que je vous ai donné --> Là je vois Feuil33

Cordialement

Bonsoir Dan

Sur quelle ligne recevez vous ce message ?

dlg = Feuil33.UsedRange.Rows.Count

Sinon, je vois que vous n'avez pas bien recopié le code que je vous ai donné --> Là je vois Feuil33

Dans mon cas réel la feuille de destination est "feuil33" (BACKUP") et la feuille comportant les données à copier est "feuil2".

NB : j'ai supprimé la feuil33 et créé une nouvelle feuille ("Feuil20").

Sur cette feuille le collage se fait mais de façon entre-coupée : après le premier collage, lorsque je passe à une 2eme copie, c'est à partir de la cellule A22239 que le collage se fait.

Je n'arrive pas à comprendre ce qui se passe.

Re

Sinon dans le code que je vous ai proposé avant, il faut modifier cette ligne (mauvais recopiage de ma part...)

F.Range("A2:L" & .UsedRange.Rows.Count).Interior.Pattern = xlNone

par

Feuil3.Range("A2:L" & Feuil3.UsedRange.Rows.Count).Interior.Pattern = xlNone

En fonction de vos feuilles 2 et 33, le code devient ceci :

Sub copier()
Dim plage As Range
Dim dlg As Integer

With Feuil33
    Set plage = Feuil2.Range("A2:L" & Feuil2.UsedRange.Rows.Count)
    dlg = .UsedRange.Rows.Count
    plage.Copy .Range("A" & dlg)
    .Range("A2:L" & .UsedRange.Rows.Count).Interior.Pattern = xlNone 'Automatic
    plage.ClearContents
End With

End Sub

Si pas ok, donnez moi votre vrai fichier ce sera plus simple

Cordialement

Bonsoir Dan

Vu la taille du fichier que je n'arrive pas à justifier, je suis passé par cjoint.com.

https://www.cjoint.com/c/ILgrjzYHia4

NB : j'ai déplacé les feuilles de mon cas réel afin que vous puissiez comprendre le dysfonctionnement que je rencontre.

Je reste à votre disposition pour plus d'informations.

Bonjour

Dans la feuille Backup, vous avez des données en ligne 33300. Il faudrait en premier les effacer

Pour ce faire,

  • sélectionnez la ligne 22
  • appuyez sur CTRL + SHIFT (MAJ) + Flèche vers le bas pour sélectionner toutes les lignes jusque la fin de la feuille
  • Clique droite sur les lignes sélectionnées puis choisissez "Supprimer"

Ensuite utilisez plutôt ce code :

Sub copier()
Dim plage As Range
Dim dlg As long

With Feuil20
    Set plage = Feuil2.Range("A2:L" & Feuil2.Range("B" & Feuil2.Rows.Count).End(xlUp).Row)
    dlg = .Range("A" & .Rows.Count).End(xlUp).Row + 1
    plage.Copy .Range("A" & dlg)
    .Range("A2:L" & .UsedRange.Rows.Count).Interior.Pattern = xlNone 'Automatic
    plage.ClearContents
End With

End Sub

Désolé mais je ne devais pas être réveillé là.... .

Oubliez pas de cloturer le fil si ok.

Cordialement

Bonsoir Dan

Merci pour votre solution.

Mes tests sont concluants.

je vous remercie infiniment.

Rechercher des sujets similaires à "copie donnees feuille backup"