In the case of memo, when you repeat the same information, thats a clue you arent using enough abstraction. With all the data for memo coming from 'BITR' its best to mention BITR only once and not however many times.
R has a function with() that supports that.
Similarly, when the names have a pattern i.e. different only by integer, you can generate the name in a loop. however, taking the time to craft that level of solution might be a loss if the data wont be changing, as copy and paste and changing numbers is probably quite fast.
One thing I would emphasise is the reproducible example, that I provided. This almost certainly took more effort for me to provide than for you to have provided, so in the future, where you can do so, please try.
#set up
library(tidyverse)
library(glue)
BITR <- tibble(as.data.frame(matrix(1:(52*5),nrow=5,ncol=52)))
names(BITR) <- c("num_ref","prenom","nom","njf","cp","ddn","sexe",
"adresse1","adresse2","localite",
"date_test_1","type_test_1", "resultat_1", "resul_test_1", "date_1", "resul_1",
"date_test_2","type_test_2", "resultat_2", "resul_test_2", "date_2", "resul_2",
"date_test_3","type_test_3", "resultat_3", "resul_test_3", "date_3", "resul_3",
"date_test_4","type_test_4", "resultat_4", "resul_test_4", "date_4", "resul_4",
"date_test_5","type_test_5", "resultat_5", "resul_test_5", "date_5", "resul_5",
"date_test_6","type_test_6", "resultat_6", "resul_test_6", "date_6", "resul_6",
"date_test_7","type_test_7", "resultat_7", "resul_test_7", "date_7", "resul_7")
BITR
#original code
memo <-paste(BITR$num_ref,BITR$prenom,BITR$nom,BITR$njf,BITR$cp,BITR$ddn,BITR$sexe,
BITR$adresse1,BITR$adresse2,BITR$localite,
BITR$date_test_1,BITR$type_test_1, BITR$resultat_1, BITR$resul_test_1, BITR$date_1, BITR$resul_1,
BITR$date_test_2,BITR$type_test_2, BITR$resultat_2, BITR$resul_test_2, BITR$date_2, BITR$resul_2,
BITR$date_test_3,BITR$type_test_3, BITR$resultat_3, BITR$resul_test_3, BITR$date_3, BITR$resul_3,
BITR$date_test_4,BITR$type_test_4, BITR$resultat_4, BITR$resul_test_4, BITR$date_4, BITR$resul_4,
BITR$date_test_5,BITR$type_test_5, BITR$resultat_5, BITR$resul_test_5, BITR$date_5, BITR$resul_5,
BITR$date_test_6,BITR$type_test_6, BITR$resultat_6, BITR$resul_test_6, BITR$date_6, BITR$resul_6,
BITR$date_test_7,BITR$type_test_7, BITR$resultat_7, BITR$resul_test_7, BITR$date_7, BITR$resul_7,
sep="_")
memo2 <-with(data = BITR,
expr = paste(num_ref,prenom,nom,njf,cp,ddn,sexe,
adresse1,adresse2,localite,
date_test_1,type_test_1, resultat_1, resul_test_1, date_1, resul_1,
date_test_2,type_test_2, resultat_2, resul_test_2, date_2, resul_2,
date_test_3,type_test_3, resultat_3, resul_test_3, date_3, resul_3,
date_test_4,type_test_4, resultat_4, resul_test_4, date_4, resul_4,
date_test_5,type_test_5, resultat_5, resul_test_5, date_5, resul_5,
date_test_6,type_test_6, resultat_6, resul_test_6, date_6, resul_6,
date_test_7,type_test_7, resultat_7, resul_test_7, date_7, resul_7,
sep="_"))
identical(memo,memo2)
# manufactor the paste expression; its shortened because of the 1:7 which saves us repeating text
myreps <- function(n) glue("date_test_{n},type_test_{n}, resultat_{n}, resul_test_{n}, date_{n}, resul_{n}") %>%
paste0(collapse=",\n")
(myexpr <- parse(text=glue(("paste(num_ref,prenom,nom,njf,cp,ddn,sexe,
adresse1,adresse2,localite,\n {myreps(1:7)} ,
sep='_')"))))
memo3 <-with(data = BITR,
expr = eval(myexpr))
identical(memo,memo3)