diff --git a/dev/flat_additional.Rmd b/dev/flat_additional.Rmd
index c83bc18ede9dfe71141e4412c2cd01cfac863b51..657bcd949dfd589dc098b2cb64228d1a1dc0ab04 100644
--- a/dev/flat_additional.Rmd
+++ b/dev/flat_additional.Rmd
@@ -80,71 +80,54 @@ table_exists(connexion,
 #' ses commentaires dans une nouvelle table avec la date et l'heure en suffixe.
 #'
 #' @param connexion Connexion active à la base de données PostgreSQL
-#' @param table_name Nom de la table à archiver dans la base de données
+#' @param database Nom de la base de données de la table à archiver
 #' @param schema Schéma de la table à archiver
 #' @param new_schema Schéma de destination de la nouvelle table archivée (par 
 #' défaut NULL, utilise le schéma d'origine)
+#' @param table_name Nom de la table à archiver dans la base de données
 #'
 #' @return Le nom de la nouvelle table archivée
 #'
 #' @importFrom DBI dbGetInfo dbGetQuery dbSendQuery
 #'
 #' @export
-archive_table <- function(connexion, table_name, schema, new_schema = NULL) {
+archive_table <- function(connexion, database, schema, new_schema = NULL, 
+                          table_name) {
   # Vérifier si la table existe dans la base de données
   if (!inherits(connexion, "PostgreSQLConnection")) {
     stop("La connexion fournie n\'est pas une connexion PostgreSQL valide.")
   }
-
-  if (!table_exists(connexion, table_name, schema, dbGetInfo(connexion)$dbname)) {
+  
+  if (!collectr::table_exists(connexion, table_name, schema, DBI::dbGetInfo(connexion)$dbname)) {
     stop("La table sp\u00e9cifi\u00e9e n\'existe pas dans la base de donn\u00e9es.")
   }
-
+  
   # Obtenir la date et l'heure actuelles au format "yyyymmddHHMM"
   archive_datetime  <- format(Sys.time(), format = "%Y%m%d%H%M")
-
-  # Créer un nom pour la nouvelle table archivée avec la date et l'heure en suffixe
+  
+  # Sélectionner la valeur du schéma
   if (is.null(new_schema)) {
-    new_table_name <- paste0(schema, ".", table_name, "_", archive_datetime )
+    schema = schema
   } else {
-    new_table_name <- paste0(new_schema, ".", table_name, "_", archive_datetime )
+    schema = new_schema
   }
-
+  
+  # Créer un nom pour la nouvelle table archivée avec la date et l'heure en suffixe
+  new_table_name <- paste0(schema, ".", table_name, "_", archive_datetime )
+  
   # Copier la table dans la nouvelle table archivée
   query <- paste("CREATE TABLE", new_table_name,
                  "AS SELECT * FROM", schema, ".", table_name )
-  dbSendQuery(connexion, query)
-
-  # Récupérer le commentaire de la table existante
-  comment_query <- paste("SELECT description FROM pg_description
-                         WHERE objoid = \'", schema, ".", table_name, "\'::regclass")
-  comment_table <- dbGetQuery(connexion, comment_query)$description
-
-  # Copier le commentaire de la table dans la nouvelle table archivée
-  query <- paste("COMMENT ON TABLE", new_table_name, "IS \'", comment_table, "\'")
-  dbSendQuery(connexion, query)
-
-  # Récupérer les commentaires des champs de la table existante
-  fields_query <- paste("SELECT a.attname, pd.description
-                         FROM pg_attribute a
-                         LEFT JOIN pg_description pd ON a.attrelid = pd.objoid AND a.attnum = pd.objsubid
-                         WHERE a.attrelid = '", schema, ".", table_name, "'::regclass AND a.attnum > 0;")
-  fields_comments <- dbGetQuery(connexion, fields_query)
-
-  for (i in seq_len(nrow(fields_comments))) {
-    field_name <- fields_comments[i, "attname"]
-    field_comment <- fields_comments[i, "description"]
-
-    if (!is.na(field_comment)) {
-    # Échapper les apostrophes dans le commentaire
-    escaped_comment <- gsub("\'", "\'\'", field_comment)
-
-    # Ajouter le commentaire du champ dans la nouvelle table archivée
-    query <- paste("COMMENT ON COLUMN", new_table_name, ".", field_name, "IS \'", escaped_comment, "\'")
-    dbSendQuery(connexion, query)
-  }
-  }
-
+  DBI::dbSendQuery(connexion, query)
+
+  # Copier les commentaires de la table dans  la nouvelle table archivée
+  datalibaba::transferer_table_comments(table_sce = table_name,
+                                        schema_sce = schema,
+                                        db_sce = database,
+                                        table_dest = paste0(table_name, "_", archive_datetime ),
+                                        schema_dest = schema,
+                                        db_dest = database)
+  
   # Retourner le nom de la nouvelle table archivée
   return(new_table_name)
 }
@@ -154,12 +137,14 @@ archive_table <- function(connexion, table_name, schema, new_schema = NULL) {
 ```{r examples-archive_table}
 connexion <- datalibaba::connect_to_db(db = "si_eau")
 archive_table(connexion, 
-              table_name = "bassin_hydrographie_fxx",
-              schema = "bdtopage")
+              database = "si_eau",
+              schema = "bdtopage",
+              table_name = "bassin_hydrographie_fxx")
 archive_table(connexion, 
-              table_name = "bassin_hydrographie_fxx",
+              database = "si_eau",
               schema = "bdtopage",
-              new_schema = "zz_archives")
+              new_schema = "zz_archives",
+              table_name = "bassin_hydrographie_fxx")
 
 ```