Bonjour à tous,
J'ai un onglet "a Copier" avec un TS "TbSource", et un onglet "Archive" avec un TS "TbDestination" et j'aimerais que si la valeur de la colonne "Période & Site" existe déjà dans TbDestination alors on ne fait rien, sinon n'existe pas on copie et colle la ligne de TbSource vers TbDestination. J'ai écrit ce code mais il ne fonctionne pas, j'ai du oublier un paramètre
Merci beaucoup pour votre aide!!!
Eric
J'ai un onglet "a Copier" avec un TS "TbSource", et un onglet "Archive" avec un TS "TbDestination" et j'aimerais que si la valeur de la colonne "Période & Site" existe déjà dans TbDestination alors on ne fait rien, sinon n'existe pas on copie et colle la ligne de TbSource vers TbDestination. J'ai écrit ce code mais il ne fonctionne pas, j'ai du oublier un paramètre
VB:
Sub CopierTableau()
'Déclarer les variables
Dim TableauSource As ListObject
Dim TableauDestination As ListObject
Dim LigneSource As ListRow
Dim LigneDestination As ListRow
Dim Recherche As Range, DateJour As String
'Définir le tableau source
Set TableauSource = Sheets("a Copier").ListObjects("TbSource")
'Définir le tableau de destination
Set TableauDestination = Sheets("Archive").ListObjects("TbDestination")
'Vérifier si le tableau source existe
If Not TableauSource Is Nothing Then
For Each LigneSource In TableauSource.ListRows
PeriodeSite = Sheets("a Copier").Range("TbSource[Période & Site]")
Set C = Range("TbDestination[Période & Site]").Find(PeriodeSite, , xlValues, xlWhole)
If Not C Is Nothing Then
Set LigneDestination = TableauDestination.ListRows.Add
LigneDestination.Range(1, 1).Resize(1, TableauDestination.ListColumns.Count).Value = LigneSource.Range(1, 1).Resize(1, TableauDestination.ListColumns.Count).Value
End If
Next LigneSource
MsgBox "Vos Données sont bien enregistrées"
End If
'ViderTS
End Sub
Eric