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 Sub

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 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 Sub

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 Sub

Je vous remercie énormément cela fonctionne

Bonne journée et merci encore

Rechercher des sujets similaires à "importer donnees feuille suite"