XL 2016 VBA Ajout dans tableau structuré

MickaelKeul

XLDnaute Nouveau
Bonjour,
J'ai un petit problème de code... je dois rajouté un ensemble de valeurs copier d'un tableau externe dans mon tableau structuré mais je voudrais que ces valeurs s'ajoute a la suite dans mon tableau structuré.
Je suis pas tres doué maisj'ai eu beau chercher je trouve pas ...

Merci de votre aide

Code:
' Copie les valeurs du classeur 1
Range("A2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy

'Colle les valeurs dans le classeur 2
Workbooks("Outil Mercu (2).xlsm").Worksheets("Base").Range("BaseArticles").PasteSpecial Paste:=xlPasteValues
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Essayez :
VB:
Workbooks("Outil Mercu (2).xlsm").Worksheets("Base").ListObjects("BaseArticles").ListRows.Add _
   .Range.Resize(Selection.Rows.Count).Value = Selection.Value
Et ce serait encore mieux en évitant de passer par Select et Selection mais plutot par une affectation par Set à variable As Range
 

MickaelKeul

XLDnaute Nouveau
Bon alors j'ai trouvé une solution qui va peut être vous piquer mais ça marche ...ça doit pas être académique ! :)
du coup je vais vous mettre le code complet:
VB:
Sub Importer()

' **********************************
' Importation des données
' **********************************

Dim ListeFichier As Variant
Dim MonClasseur As Workbook

    Application.CutCopyMode = False
    Application.ScreenUpdating = False

    ListeFichier = Application.GetOpenFilename(Title:="Sélectionnez le Fournisseur", _
                    filefilter:="fichiers Excel(*.xls*),*xls*", buttontext:="Cliquez")
        
    If ListeFichier <> False Then
    
        Set MonClasseur = Application.Workbooks.Open(ListeFichier)
    
        'On copie les données
        Range(Cells(2, 1), Cells(Cells(Rows.Count, 1).End(xlUp).row, 28)).Copy
    
        ' on colle dans la feuille
        If Feuil1.ListObjects("BaseArticles").ListColumns("Code GEN").Range.Cells(2, 1).Value = "" Then
        Workbooks("Test-Outil.xlsm").Worksheets("Base").Range("BaseArticles").PasteSpecial Paste:=xlPasteValues
        Else
        Workbooks("Test-Outil.xlsm").Worksheets("Base").Range("BaseArticles").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
        End If
        
        Application.DisplayAlerts = False

    
        MonClasseur.Close
    
    End If

ça semble marcher...
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz