Comment lier ma base de données avec les colonnes du tableau suivi ?

Coucou,

Au début sans tri du coup ; j'ai super bien avancé sur mon travail grâce à toi et encore tous mes mercis de m'avoir motivée et de ne pas baisser les bras ; heureusement que tu as été là

Re,

le code adapté :

Private Sub CommandButton1_Click()
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim TS As ListObject 'déclare la variable TS (Tableau Source)
Dim PS As Range 'déclare la variable PS (Plage Source)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim LR As Integer 'déclare la variable LR (Ligne de Référence)

Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set CS = ThisWorkbook 'définit la classeur source CS
Set OS = CS.Worksheets("Base de données") 'définit l'onglet source OS
CA = CS.Path & "\" 'définit le chemin d'accès CA
Set TS = OS.ListObjects(1) 'ou set TS=OS.ListObjects("Base3") définit le tableau source TS
Set PS = TS.DataBodyRange 'définit la plage source PS
DL = IIf(PS(1, 1).Value = "", 1, PS(1, 1).End(xlDown).Row) - TS.HeaderRowRange.Row 'définit la dernière ligne éditée DL de la plage PS
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set CD = Workbooks("tableau-maj-suivi.xlsx") 'définit le classeur destination (génère une erreur si ce classeur n'est pas ouvert)
On Error GoTo 0 'annule la gestion des erreurs
Set OD = CD.Worksheets("Suivi ") 'définit l'onglet destination OD (attention il y a un espace à la fin !?...)
OD.Rows(5).Copy 'copie la ligne 5 de l'onglet OS
OD.Range("A5").Insert 'insère cette ligne à partir de A5 de l'onglet OS (cette ligne est dupliquée)
OD.Rows(6 & ":" & 6 + DL - 1).Insert 'insère autant de ligne que (DL-1) à partir de la ligne 6
OD.Rows(5).Delete 'supprime la ligne dupliquée
OS.Range(PS(1, 1), PS(DL, 3)).Copy OD.Cells(5, "E") 'copie les données des colonnes 1 à 3 de PS et les colle dans la cellule ligne LR colonne E de OD
OS.Range(PS(1, 4), PS(DL, 5)).Copy OD.Cells(5, "J") 'copie les données des colonnes 4 et 5 de PS et les colle dans la cellule ligne LR colonne J de OD
OS.Range(PS(1, 6), PS(DL, 8)).Copy OD.Cells(5, "O") 'copie les données des colonnes 6 à 8 de PS et les colle dans la cellule ligne LR colonne O de OD
'TS.DataBodyRange.Delete 'cette ligne efface les donnée de la base mais je ne savais pas si il fallait la mettre ou pas...
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
OD.Activate 'actice l'onglet detination OD
End Sub

Mille mercis je vais adapter dans mon fichier

Ah que j'aimerais avoir ton savoir mais je pense que c'est trop tard pour moi !

Rechercher des sujets similaires à "comment lier base donnees colonnes tableau suivi"