[Résolus]copier un tableau vers une autre feuille

sky45

XLDnaute Nouveau
Bonjour à tous
je rencontre un probleme avec mon bouton archiver, j'ai crée un bouton qui recopie le contenu de la Feuille 1 vers la feuille 2.
Mon but est qu'a chaque fois que je click sur le bouton pour archiver, le contenu s'ajoute au dessus du précédent en ajoutant une ligne vide de séparation mais malheuresement il supprime une partie du contenu précédent en ajoutant le nouveau.
Voila mon code pouvez vous m'aider s'il vous plait afin que le contenu ne s'efface pas à chaque sauvegarde dans Archive ?
et si possible ne selectionner que les cellules non vide dans Data pour rendre mon code plus propre car la je selectionne la feuille entière ce qui n'est pas très interessant


Code:
Range("A1:AZ1000" & Sheets("data").Range("AF65536").End(xlUp).Row).Copy
    Sheets("Archive_Hebdo").Select
    Range("A" & Sheets("Archive_Hebdo").Range("A65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Range("A1").Select
 
Dernière édition:

sky45

XLDnaute Nouveau
Re : copier un tableau vers une autre feuille

Merci pour la réponse mais je ne pense pas que ce soit faisable avec une simple macro puisque le contenu serait écrasé à chaque sauvegarde, je veux plûtot qu'il s'ajoute en dessous ou au dessus du précédent
 

Staple1600

XLDnaute Barbatruc
Re : copier un tableau vers une autre feuille

Bonsoir à tous

sky45
Si j'ai bien compris la question, ceci devrait faire l'affaire
(NB: adapter le nom des feuilles par rapport à ton classeur)
Code:
Sub a()
Dim sDatas, wsA As Worksheet, wsB As Worksheet
Set wsA = Sheets(1): Set wsB = Sheets(2)
sDatas = Range(wsA.Cells(1, 1), wsA.Cells(Rows.Count, 1).End(3)).Resize(, 30)
wsB.Cells(1, 1).Resize(UBound(sDatas, 1) + 1).EntireRow.Insert
wsB.Cells(1, 1).Resize(UBound(sDatas, 1), UBound(sDatas, 2)).Value = sDatas
Erase sDatas
End Sub
PS: test OK sur mon PC
 

sky45

XLDnaute Nouveau
Re : copier un tableau vers une autre feuille

Merci pour ta reponse Staple, j'ai revu mon code mais je ne sais pas ou je pourrai intégrer le tien j'ai vu que le saut de ligne fonctionne super bien chez toi
peux tu y jetter un aide pour adapter avec le tien merci
 

Pièces jointes

  • archive.xlsm
    243.6 KB · Affichages: 41
  • archive.xlsm
    243.6 KB · Affichages: 38
  • archive.xlsm
    243.6 KB · Affichages: 38

Staple1600

XLDnaute Barbatruc
Re : copier un tableau vers une autre feuille

Re

sky45
Pourquoi adapterai-je mon code (que tu n'as pas daigné copier dans ta PJ) à ta place ? ... :rolleyes:
Relis le NB: de mon précédent message ;).
Tu as tous les paramètres en main pour faire l'adaptation toi-même.
(Ce qui sera plus enrichissant pour toi que d'attendre que je le fasse à ta place ;))
Sub archivages()
Dim sDatas, wsA As Worksheet, wsB As Worksheet
Set wsA = Worksheets("Mail"): Set wsB = Worksheets("Achive_Hebdo")
sDatas = Range(wsA.Cells(3, "E"), wsA.Cells(Rows.Count, "E").End(3)).Resize(, 2)
wsB.Cells(1, 1).Resize(UBound(sDatas, 1) + 1).EntireRow.Insert
wsB.Cells(1, 1).Resize(UBound(sDatas, 1), UBound(sDatas, 2)).Value = sDatas
Erase sDatas
End Sub





 
Dernière édition:

sky45

XLDnaute Nouveau
Re : copier un tableau vers une autre feuille

Merci Stapple j'ai bien testé ton code même si je ne l'ai pas rajouté ici c'est comme sa d'ailleurs j'ai vu que le saut de ligne fonctionnait bien.
je vais essayer de l'adapter moi même, si je t'ai demandé de le faire c'est que je vois venir les ennuis mais je vais me
prendre la tête avec pour faire de mon mieux
et je reviens vers toi au cas ou je n'y arriverai bien
merci encore !
 

Staple1600

XLDnaute Barbatruc
Re : copier un tableau vers une autre feuille

Re

sky45
Je te donne un second indice ;)
sDatas = Range(wsA.Cells(3, "E"), wsA.Cells(Rows.Count, "E").End(3)).Resize(, 2)
Change ce qui doit être changé ailleurs dans le code, et tu devrais trouver tout seul quelle doit être la macro finale adaptée à ta PJ du message #5. ;)

PS: Si tu sèches, reviens lire le fil plusieurs fois, jusqu'à ce que tu y trouves la solution ;)
 

sky45

XLDnaute Nouveau
Re : copier un tableau vers une autre feuille

Re Staple je reviens vers toi j'ai testé le code il fonctionne mais ce n'est pas encore ce que j'espérais avoir
je n'exprime pas assez bien ce que je souhaite faire alors je remet un exemple qui j'espère sera plus explicite.
Donc à chaque click sur le bouton archiver on réalise un enregistrement comme tu le veras.
 

Pièces jointes

  • archive.xlsm
    252 KB · Affichages: 43
  • archive.xlsm
    252 KB · Affichages: 34
  • archive.xlsm
    252 KB · Affichages: 48

Staple1600

XLDnaute Barbatruc
Re : copier un tableau vers une autre feuille

Bonsoir à tous

sky45
Je vois que tu as su lire entre les lignes blanches ... ;)

Essaies cette variante de la macro archivages, et redis moi si cela te va.
Code:
Sub archivagesBis()
Dim wsA As Worksheet, wsB As Worksheet
Set wsA = Sheets("Mail"): Set wsB = Sheets("Achive_Hebdo")
Range(wsA.Cells(3, "E"), wsA.Cells(Rows.Count, "E").End(3)).Resize(, 3).Copy wsB.Cells(Rows.Count, 1).End(3)(3)
End Sub
NB: Test OK sur mon PC.
 

sky45

XLDnaute Nouveau
Re : copier un tableau vers une autre feuille

impecable ! sa tourne à merveille !
merci Staple, 2 petites dernières chose peux tu m'expliquer cette partie de ton code

Code:
.Resize(, 3).Copy wsB.Cells(Rows.Count, 1).End(3)(3)
et si par exemple je veux mettre une bordure automatiquement à chaque archive pour bien marquer la séparation peux tu me donner une piste pour le faire ?
 

Discussions similaires

Statistiques des forums

Discussions
312 765
Messages
2 091 892
Membres
105 084
dernier inscrit
lca.pertus