macro pour copier des elements dans un tableau

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

F

fresquie

Guest
Bjr
J'y prends goût...
Donc, je voudrais copier des enregistrements situés dans la feuile A dans la liste de données située feuille B.
Avec mes petites mains, j'ai créé une macro (enregistrée) qui ajoute une ligne en haut des enregistrements de la feuille B et y colle mon enregistrement de la feuille A. Mais cela pose problème (décalage vers le bas) si cette liste de données est liée par collage avec liaison à une feuille C qui regroupe plusieurs tableux différents par collages avec liaison.
Il me faudrait une macro qui colle mon enregistrement de la feuille A à la suite de ceux de la feuille B...tout simplement!!!
Mais ce n'est pas si simple n'est-ce-pas? Pour moi, c'est même une horreur.
Au secours donc.
 
Salut,

Moi perso je suis contre le copier coller , mais pour récupérer les valeurs:

with Tafeuil2
L=.[A65536].end(xlup).row+1 'on récupère la 1 ere ligne vide sous ton tableau

on peut écrire alors :

.range("A" & L,"C" & L)=range("A13:C13").value


end with

Sinon faut être plus explicite..
 
Je suis minable dans la gestion du forum (je réponds ici après avoir posé le message comme un nouveau...)

Donc, j'ai un tableau (liste de données) sur une feuille F1.
Sur une feuille F2, j'ai une autre liste de données, avec les mêmes champs.
Je veux automatiser la copie de cellules d'une ligne de mon tableau situé feuille F1 vers la dernière ligne (ou disons la première ligne libre) du tableau de la feuille F2. Je sais sélectionner (tri élaboré avec copie vers un autre endroit) les cellules qui m'intéressent mais comment forcer la copie à la fin d'un tableau ? Autrement dit, si le tableau comporte n lignes, à la ligne n+1 ?
 
Re,

Je t'avais donné une piste avec end, mais comme je n'utilise pas les filtres élaborés (que je trouve barbant en VBA), postes un fichier exemple de tes données afin de faire un bout de code..


A+++
 
Salut,


Si j'ai bien compris au lieu d'insérer une ligne tu veux le mettre en dernier par exemple pour te mettre sur la voie en évitant tout ces select

Modifies ta procédure Filtre

Sub Filtre()

With [A1]
.Range("A1:I26").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Offset(31, 9).Range("A1:A2"), CopyToRange:= _
.Offset(33, 9).Range("A1😀1"), Unique:=False
End With
End Sub

et pour la proc EDF à tester c'est fait à la va vite sans test

Sub EDF()
Dim Plage As Range


filtre 'on lance la proc filtre
set Plage = Range("J35:L35") 'on définit la variable Plage

with workbooks("Grand livre04.xls")
with .sheets("EDF")
.[B65536].End(xlUp)(2).Resize(1, Plage.columns.count) = Plage.Value
end with
end with
with .Sheets("Banque")
.Range("B65536").end(xlup)(2).resize(Plage.rows.count, Plage.columns.count) = Plage.value
.[E65536].end(xlup)(2)=.[D65536].end(xlup)(1).value
.[D65536].end(xlup)(1).clearcontents

end with

A+++
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
773
Retour