Microsoft 365 erreur syntaxe pour coller sous un tableau

thenesol

XLDnaute Junior
bonjour à tous

avec cet extrait de code que j'ai récupéré, je souhaite coller un range (sourceRange) sous le tableau "Tabl_test" juste sous la colonne "titre_1" (qui n'est pas la 1ere colonne du tableau)
mais sa plante sur la ligne en jaune : "propriété ou méthode non gérée par cet objet" qu'il dit

VB:
Set tbl = wb0.Sheets("test").ListObjects("Tabl_test")
col_destination = "titre_1"


On Error Resume Next
    Set destinationColumn = tbl.ListColumns(col_destination)
On Error GoTo 0
    ' Check if the column exists
If Not destinationColumn Is Nothing Then
    ' Insert a new row below the table
    tbl.ListRows.Add
    ' Set the destination range under the specific column
    destinationRange = tbl.ListRows(tbl.ListRows.Count).ListObjects.ListColumns(col_destination).DataBodyRange
    ' Copy the values from the source range to the destination range
    destinationRange.Value = sourceRange.Value
Else
    MsgBox "Column not found.", vbExclamation
End If

1700678043960.png

quelle serait la bonne formulation ?

merci...!
 

thenesol

XLDnaute Junior
oui, je comprends
mais pour envoyer un classeur il faudrait que je depiaute mes données et mon code, j'espérais identifier le problème sans ça.

en fait je crois que j'ai compris : j'ai l'impression il faut que destinationRange et sourceRange aient le même nombre de lignes et de colonnes
c'est bien ça ?

je pensais que c'était aussi simple de faire comme dans excel, copier une zone et la coller sur une cellule pour que la zone se propage toute seule

en tout cas ça fonctionne maintenant

merci pour ce qui précède !
 

Dranreb

XLDnaute Barbatruc
Vous pouvez quand même essayer d'ajouter .Resize(SourceRange.Rows.Count) derrière tbl.ListRows.Add.Range ou peut être plutôt plus bas derrière DestinationRange
VB:
DestinationRange.Rezize(SourceRange.Rows.Count).Value = SourceRange.Value
 

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 294
Membres
111 093
dernier inscrit
Yvounet