diff --git a/NAMESPACE b/NAMESPACE
index 2e51793684b18b8ec8c703d312b7e181a1eedd13..5af0c97dc71b24c1048ea953712893c8f46cadba 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -4,6 +4,7 @@ export("%>%")
 export(creer_carte_1_3)
 export(creer_carte_1_7)
 export(creer_carte_2_2)
+export(creer_carte_2_7)
 export(creer_carte_3_2)
 export(creer_graphe_1_1)
 export(creer_graphe_1_4)
diff --git a/R/creer_carte_2_7.R b/R/creer_carte_2_7.R
new file mode 100644
index 0000000000000000000000000000000000000000..a379f3a435ed25d02738cf33ff34a136e8254859
--- /dev/null
+++ b/R/creer_carte_2_7.R
@@ -0,0 +1,56 @@
+#' Creation de la carte regionale de l evolution des surfaces cadastrees
+#' @description carte regionale de l evolution des surfaces cadastrees
+#'
+#' @param millesime_obs_artif une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique.
+#'
+#' @return une carte regionale
+#'
+#' @importFrom dplyr filter select mutate arrange
+#' @importFrom forcats fct_drop fct_relevel
+#' @importFrom ggplot2 ggplot geom_bar aes geom_text labs facet_wrap theme element_text scale_y_continuous
+#' @importFrom gouvdown scale_fill_gouv_discrete
+#' @importFrom glue glue
+#' @importFrom lubridate year
+#' @importFrom stringr str_wrap
+#' @importFrom mapfactory format_fr
+#'
+#' @export
+#'
+#' @examples
+#' creer_carte_2_7(millesime_obs_artif = 2019)
+creer_carte_2_7 <- function(millesime_obs_artif) {
+
+  # calcul des millesimes de la carte
+  millesime_debut <- millesime_obs_artif - 10
+  millesime_fin <- millesime_obs_artif - 1
+
+  # Creation de la table utile a la production du graphique
+  data <- observatoire_artificialisation %>%
+    dplyr::mutate(date = as.numeric(lubridate::year(.data$date))) %>%
+    dplyr::filter(.data$TypeZone == "Communes",
+                  .data$date <= millesime_obs_artif,
+                  .data$date >= millesime_obs_artif - 9) %>%
+    dplyr::mutate(flux_naf_artificialisation_total = .data$flux_naf_artificialisation_total / 10000) %>%
+    dplyr::group_by(.data$CodeZone, .data$TypeZone, .data$Zone) %>%
+    dplyr::summarise(valeur = sum(.data$flux_naf_artificialisation_total, na.rm = T)) %>%
+    dplyr::ungroup()
+
+
+  fond_cartographique <- mapfactory::fond_carto(nom_reg = "Pays de la Loire")
+  bins  <- stats::quantile(data$valeur,probs = c(0,0.1, 0.25, 0.5,0.75,0.9,1),na.rm=TRUE)
+
+  carte_2_7 <- mapfactory::creer_carte_communes(data = data,
+                                                code_region=52,
+                                                carto = fond_cartographique,
+                                                indicateur = valeur,
+                                                bornes = bins,
+                                                decimales = 0,
+                                                titre = glue::glue("Evolution des surfaces cadastr\u00e9es\n entre {millesime_debut} et {millesime_fin}"),
+                                                sous_titre = NULL,
+                                                bas_de_page = glue::glue("Source : DGFip/Cerema {millesime_obs_artif}"),
+                                                suffixe = "ha"
+  )
+
+
+  return(carte_2_7)
+}
diff --git a/devstuff_history.R b/devstuff_history.R
index 07bb31e8fa602b53b968dbe0b781a5a5b3c64cd9..9fc0516e9eeb7fb2e7d2b0d4baaef6324532e369 100644
--- a/devstuff_history.R
+++ b/devstuff_history.R
@@ -70,6 +70,11 @@ usethis::use_vignette("bd-ch2-4","bd- Chapitre 2 Graphe 4")
 usethis::use_r("creer_graphe_2_4")
 usethis::use_test("creer_graphe_2_4")
 
+##creer_carte_2_7
+usethis::use_vignette("bg-ch2-7","bg- Chapitre 2 Carte 7")
+usethis::use_r("creer_carte_2_7")
+usethis::use_test("creer_carte_2_7")
+
 ##creer_carte_3_2
 usethis::use_vignette("cb-ch3-2","cb- Chapitre 3 Carte 2")
 usethis::use_r("creer_carte_3_2")
diff --git a/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd b/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd
index 59b3f8cc95fe436b582ce7df8f73e3ecc2798d7d..89b98c6da00af885724242134babd58a4be969e0 100644
--- a/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd
+++ b/inst/rmarkdown/templates/publication/skeleton/skeleton.Rmd
@@ -81,6 +81,13 @@ creer_graphe_2_3( params$millesime_obs_artif_gk3)
 ```{r graph conso espace departements 10 ans,fig.width=5,fig.height=7}
 creer_graphe_2_4( params$millesime_obs_artif)
 ```
+
+```{r carte communale de l evolution des surfaces cadastrees,fig.width=9,fig.height=7}
+creer_carte_2_7( params$millesime_obs_artif)
+```
+
+
+
 ## Chapitre 3
 
 ```{r carte communale de l etalement urbain,fig.width=9,fig.height=7}
diff --git a/man/creer_carte_2_7.Rd b/man/creer_carte_2_7.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..5cea42f6f26950cf6e6cef6b0b71367e59bc41ad
--- /dev/null
+++ b/man/creer_carte_2_7.Rd
@@ -0,0 +1,20 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/creer_carte_2_7.R
+\name{creer_carte_2_7}
+\alias{creer_carte_2_7}
+\title{Creation de la carte regionale de l evolution des surfaces cadastrees}
+\usage{
+creer_carte_2_7(millesime_obs_artif)
+}
+\arguments{
+\item{millesime_obs_artif}{une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique.}
+}
+\value{
+une carte regionale
+}
+\description{
+carte regionale de l evolution des surfaces cadastrees
+}
+\examples{
+creer_carte_2_7(millesime_obs_artif = 2019)
+}
diff --git a/tests/testthat/test-creer_carte_2_7.R b/tests/testthat/test-creer_carte_2_7.R
new file mode 100644
index 0000000000000000000000000000000000000000..44f564cbbfbc9894dc8636e71fe997d797c3b9b1
--- /dev/null
+++ b/tests/testthat/test-creer_carte_2_7.R
@@ -0,0 +1,7 @@
+test_that("creer_carte_2_7 fonctionne", {
+
+  # Test que la carte est un ggplot
+  objet <- creer_carte_2_7(millesime_obs_artif = 2019)
+  testthat::expect_equal(attr(objet, "class"), c("gg","ggplot"))
+
+})
diff --git a/vignettes/bg-ch2-7.Rmd b/vignettes/bg-ch2-7.Rmd
new file mode 100644
index 0000000000000000000000000000000000000000..e0e234dd50c9558fb1f7e02904ed58533581ba8b
--- /dev/null
+++ b/vignettes/bg-ch2-7.Rmd
@@ -0,0 +1,31 @@
+---
+title: "bg- Chapitre 2 Carte 7"
+output: rmarkdown::html_vignette
+vignette: >
+  %\VignetteIndexEntry{bg- Chapitre 2 Carte 7}
+  %\VignetteEngine{knitr::rmarkdown}
+  %\VignetteEncoding{UTF-8}
+---
+
+```{r, include = FALSE}
+knitr::opts_chunk$set(
+  collapse = TRUE,
+  echo = FALSE, 
+  message = FALSE, 
+  warning = FALSE, 
+  error = FALSE,
+  comment = "#>",
+  fig.width = 9,
+  fig.height = 7
+)
+
+```
+
+# Descriptif
+
+La fonction `creer_carte_2_7()` produit la carte régionale de l'évolution des surfaces cadastrées en hectares.
+
+```{r setup}
+library(propre.artificialisation)
+creer_carte_2_7(millesime_obs_artif = 2019)
+```
diff --git a/vignettes/test.R b/vignettes/test.R
index bee4bcf6f35b410501573498d11e4b9331472940..94481ce394b84992697dabff20c3bccdc80ef56f 100644
--- a/vignettes/test.R
+++ b/vignettes/test.R
@@ -1,58 +1,56 @@
-#' Creation du graphique du taux d'evolution 2009/19 (%) de l'artificialisation cadastree des differentes regions.
-#' @description Graphique du taux d'evolution 2009/19 (%) de l'artificialisation cadastree des differentes regions.
+#' Creation de la carte regionale de l evolution des surfaces cadastrees
+#' @description carte regionale de l evolution des surfaces cadastrees
 #'
-#' @param millesime_teruti une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique.
+#' @param millesime_obs_artif une année parmi les millesimes sélectionnables par l'utilisateur, au format numerique.
 #'
-#' @return Un diagramme en barres
+#' @return une carte regionale
 #'
-#' @importFrom dplyr mutate filter select group_by case_when
-#' @importFrom forcats fct_reorder
-#' @importFrom ggplot2 ggplot aes geom_bar geom_text position_dodge coord_flip labs theme element_text scale_y_continuous
+#' @importFrom dplyr filter select mutate arrange
+#' @importFrom forcats fct_drop fct_relevel
+#' @importFrom ggplot2 ggplot geom_bar aes geom_text labs facet_wrap theme element_text scale_y_continuous
+#' @importFrom gouvdown scale_fill_gouv_discrete
 #' @importFrom glue glue
-#' @importFrom scales number_format
+#' @importFrom lubridate year
+#' @importFrom stringr str_wrap
+#' @importFrom mapfactory format_fr
 #'
 #' @export
 #'
 #' @examples
-#' creer_graphe_2_3(millesime_obs_artif_gk3=2019)
+#' creer_carte_2_7(millesime_obs_artif = 2019)
+creer_carte_2_7 <- function(millesime_obs_artif) {
 
-creer_graphe_2_3 <- function(millesime_obs_artif_gk3){
+  # calcul des millesimes de la carte
+  millesime_debut <- millesime_obs_artif - 10
+  millesime_fin <- millesime_obs_artif - 1
 
   # Creation de la table utile a la production du graphique
-  data <- observatoire_artificialisation_gk3 %>%
-    dplyr::mutate(date=year(.data$date)) %>%
-    dplyr::filter(.data$TypeZone == "R\u00e9gions",
-                  !(.data$CodeZone %in% c("01","02","03","04","06")),
-                  .data$date == millesime_obs_artif_gk3 | .data$date == millesime_obs_artif_gk3 - 9) %>%
-    dplyr::select (-.data$surface_naf) %>%
-    dplyr::group_by(.data$TypeZone,.data$Zone,.data$CodeZone) %>%
-    summarise(evolution=round((sum(surface_artificialisee[which(date==2019)],na.rm=T) - sum(surface_artificialisee[which(date==2010)],na.rm=T))/10000,0)) %>%
-    dplyr::mutate(couleur_barre = dplyr::case_when(
-      .data$CodeZone=="52"~ 1,
-      TRUE ~ 0))
-
-  valeur_max <- max(data$evolution,na.rm=T)
-  millesime_debut <- millesime_obs_artif_gk3 - 9
-
-  graph_2_3<-data  %>%
-    ggplot2::ggplot(ggplot2::aes(x=forcats::fct_reorder(.data$Zone,.data$evolution,.desc=F), ymax=valeur_max+5000, y=.data$evolution,fill=.data$couleur_barre)) +
-    ggplot2::geom_bar(stat="identity")+
-    ggplot2::geom_text(ggplot2::aes(y=.data$evolution ,
-                                    label=.data$evolution,
-                                    color = .data$couleur_barre
-    ),
-    position= ggplot2::position_dodge(width=1),
-    vjust=0.5,
-    hjust=-0.5,
-    size=3) +
-    ggplot2::coord_flip(expand = FALSE) +
-    ggplot2::labs(title=glue::glue("\u00e9volution {millesime_debut} - {millesime_obs_artif_gk3} en hectares\nde l'artificialisation cadastr\u00e9e par r\u00e9gion"),
-                  subtitle="",x="",y="",
-                  fill="",
-                  caption = glue::glue("Source : Observatoire artificialisation {millesime_obs_artif_gk3}"))+
-    ggplot2::theme(axis.text.x = ggplot2::element_text(), legend.position = "none") +
-    ggplot2::scale_y_continuous(labels = scales::number_format(suffix = "", accuracy = 1))
-
-  return(graph_1_1)
+  data <- observatoire_artificialisation %>%
+    dplyr::mutate(date = as.numeric(lubridate::year(.data$date))) %>%
+    dplyr::filter(.data$TypeZone == "Communes",
+                  .data$date <= millesime_obs_artif,
+                  .data$date >= millesime_obs_artif - 9) %>%
+    dplyr::mutate(flux_naf_artificialisation_total = .data$flux_naf_artificialisation_total / 10000) %>%
+    dplyr::group_by(.data$CodeZone, .data$TypeZone, .data$Zone) %>%
+    dplyr::summarise(valeur = sum(.data$flux_naf_artificialisation_total, na.rm = T))
 
+
+  fond_carto <- mapfactory::fond_carto(nom_reg = "Pays de la Loire")
+  bins  <- stats::quantile(data$valeur,probs = c(0,0.1, 0.25, 0.5,0.75,0.9,1),na.rm=TRUE)
+
+  carte_2_7 <- mapfactory::creer_carte_communes(data = data,
+                                                code_region=52,
+                                                carto = fond_carto,
+                                                indicateur = valeur,
+                                                bornes = bins,
+                                                decimales = 0,
+                                                titre = glue::glue("Evolution des surfaces cadastr\u00e9es\n entre {millesime_debut} et {millesime_fin}"),
+                                                sous_titre = NULL,
+                                                bas_de_page = glue::glue("Source : DGFip/Cerema {millesime_obs_artif}"),
+                                                suffixe = "ha"
+  )
+
+
+  return(carte_2_7)
 }
+