Importer des données d'une feuille à l'autre à la suite
Bonjour,
Ne connaissant pas vraiment comment fonctionne VBA je me rends ici pour vous demander de l'aide car je suis un peu perdu pour être honnête.
Je vous explique la situation. toutes les semaines je télécharge un fichier excel depuis un site internet qui me donne l'intégralité de mes paris sportifs de la journée, étant donné qu'il y en a plus de 140 je voudrais que lorsque je copie les données de ce fichier excel téléchargé dans mon fichier (Feuille Import Trades ), les données importées s'ajoutent directement dans le tableau de la feuille Trades à la suite des données déjà importés (en effet je ne veux pas que les nouvelles données écrasent les anciennes).
Pour couronner le tout les données que j'importe ne sont pas exactement dans le meme ordre j'ai donc rajouter des colonnes pour laisser des blancs la ou il le faut.
Voici le fichier principale
Voici un exemple de fichier qui est importer dans la feuille import trades
Bien à vous,
Merci d'avance pour votre aide.
Bonjour,
pour joindre un fichier volumineux, passe par cjoint.com et mets le lien ici.
pour ton problème il faut 2 fichiers
Voici le fichier principale
Voici un exemple de fichier qui est importer dans la feuille import trades
bonjour,
une proposition de macro
Sub aargh()
fichier = "D:\downloads\data-2-.xls" ' à adapter
Set wbit = ThisWorkbook.Sheets("Import trades")
dlwbit = wbit.Cells(Rows.Count, 1).End(xlUp).Row + 1
If dlwbit = 2 Then dlwbit = 1: fr = 1 Else fr = 2
Set wbd = Workbooks.Open(fichier)
With wbd.Sheets("sheet")
dl = .Cells(1, 1).End(xlDown).Row
.Columns("F:F").Insert shift:=xlToRight
.Columns("I:I").Delete shift:=xlToLeft
.Columns("K:K").Delete shift:=xlToLeft
.Rows(fr & ":" & dl).Copy wbit.Cells(dlwbit, 1)
If cr = 1 Then
.Cells(1, 6) = "Blank"
.Cells(1, 9) = "Blank2"
.Cells(1, 11) = "PNL"
.Cells(1, 12) = "Odds"
End If
End With
wbd.Close False
dlwbit = wbit.Cells(Rows.Count, 1).End(xlUp).Row
wbit.Cells(1, 1).ListObject.Unlist
wbit.ListObjects.Add(xlSrcRange, Range("$A$1:$L$" & dlwbit), , xlYes).Name = "Table1"
wbit.ListObjects("Table1").TableStyle = "TableStyleMedium2"
End Subbonjour,
une proposition de macro
Sub aargh() fichier = "D:\downloads\data-2-.xls" ' à adapter Set wbit = ThisWorkbook.Sheets("Import trades") dlwbit = wbit.Cells(Rows.Count, 1).End(xlUp).Row + 1 If dlwbit = 2 Then dlwbit = 1: fr = 1 Else fr = 2 Set wbd = Workbooks.Open(fichier) With wbd.Sheets("sheet") dl = .Cells(1, 1).End(xlDown).Row .Columns("F:F").Insert shift:=xlToRight .Columns("I:I").Delete shift:=xlToLeft .Columns("K:K").Delete shift:=xlToLeft .Rows(fr & ":" & dl).Copy wbit.Cells(dlwbit, 1) If cr = 1 Then .Cells(1, 6) = "Blank" .Cells(1, 9) = "Blank2" .Cells(1, 11) = "PNL" .Cells(1, 12) = "Odds" End If End With wbd.Close False dlwbit = wbit.Cells(Rows.Count, 1).End(xlUp).Row wbit.Cells(1, 1).ListObject.Unlist wbit.ListObjects.Add(xlSrcRange, Range("$A$1:$L$" & dlwbit), , xlYes).Name = "Table1" wbit.ListObjects("Table1").TableStyle = "TableStyleMedium2" End Sub
Rebonjour, je me suis malheureusement mal exprimer et je m'en excuse mais merci d'avoir pris le temps de me répondre.
Plus précisément, ne vous préoccupez pas des données du fichiers Data car je les copie colle directement dans la feuille import trades, ce que je voudrais réaliser via VBA c'est l'ajout des données se trouvant dans Import Trades à la suite du tableau se trouvant dans la feuille Bets sans écraser les anciennes données. En gros j'aimerais que ce que je colle dans dans import trades s'ajoute au fur et a mesure dans le tableau situé dans la feuilles Bets.
J'espère avoir été plus claire et je vous remercie pour le temps que vous me consacrez.
Bien à vous,
re-Bonjour,
voici une nouvelle version. Cependant la correspondance n'est pas parfaite entre la feuille import trades et Bets. la colonne J de trade imports devrait être la colonne K
Sub aargh()
Set wbit = Sheets("bets")
dlwbit = wbit.Cells(Rows.Count, 1).End(xlUp).Row + 1
With Sheets("Import Trades")
dl = .Cells(1, 1).End(xlDown).Row
wbit.Cells(dlwbit, 1).Resize(dl - 1, 12).Value = .Range("A2:L" & dl).Value
End With
End Subre-Bonjour,
voici une nouvelle version. Cependant la correspondance n'est pas parfaite entre la feuille import trades et Bets. la colonne J de trade imports devrait être la colonne K
Sub aargh() Set wbit = Sheets("bets") dlwbit = wbit.Cells(Rows.Count, 1).End(xlUp).Row + 1 With Sheets("Import Trades") dl = .Cells(1, 1).End(xlDown).Row wbit.Cells(dlwbit, 1).Resize(dl - 1, 12).Value = .Range("A2:L" & dl).Value End With End Sub
Je vous remercie énormément cela fonctionne
Bonne journée et merci encore