-1) {
let s = strcode.indexOf("", e);
scripts.push(strcode.substring(s_e+1, e));
strcode = strcode.substring(0, s) + strcode.substring(e_e+1);
}
for(let i=0; i 0 ){
donation = form.donation.value;
}
var telephone = form.telephone.value;
var email = form.email.value;
var commune = form.commune.value;
var code_postal = form.code_postal.value;
var message = form.message.value;
// Lot context is rebuilt from the catalogue server-side; keep the client message intact.
if( !(form.elements.id_lot && form.elements.id_lot.value) && form.infos !== undefined && form.infos.value !== "" ){
message = form.infos.value + "\n\n" + message;
}
var cnil = form.cnil.value;
var emplacement = form.emplacement.value;
var gsm = form.gsm.value;
var comment = form.comment.value;
let confirm = "page";
if( form.confirmation !== undefined && form.confirmation.value === "popin" ){
confirm = "popin"
}
if( nom != "" && prenom != "" && telephone != "" && email != "" && commune != "" && code_postal != "" ){
chargement.style['display'] = "flex";
var chargement_timer = setTimeout(function(){
chargement.style['opacity'] = 1;
},10);
var contact_termine = false;
function terminer_contact(succes) {
if (contact_termine) {
return;
}
contact_termine = true;
clearTimeout(chargement_timer);
sending_data = false;
if (succes) {
confirmation_contact(true,confirm);
} else {
chargement.style['display'] = "none";
chargement.style['opacity'] = 0;
var modal_fond = document.createElement("div");
modal_fond.classList.add("modal_fond");
modal_fond.onclick = function() { modal_fond.remove(); };
var modal_texte = document.createElement("div");
modal_texte.classList.add("modal_texte");
modal_texte.setAttribute("role", "alert");
modal_texte.textContent = "Votre demande prend plus de temps que prévu. Cliquez pour fermer ce message.";
modal_fond.appendChild(modal_texte);
document.body.appendChild(modal_fond);
}
}
var xhr_contact = new XMLHttpRequest();
xhr_contact.overrideMimeType("application/json");
xhr_contact.onreadystatechange = function () {
if (this.readyState !== 4 || contact_termine) {
return;
}
var response = null;
if (this.status === 200) {
try {
response = JSON.parse(xhr_contact.responseText);
} catch (error) {
// Une réponse illisible n'est jamais une confirmation.
}
}
terminer_contact(!!response && response.results === "OK");
};
xhr_contact.onerror = xhr_contact.onabort = xhr_contact.ontimeout = function() {
terminer_contact(false);
};
contact_form.append('d', d);
contact_form.append('id_page', id_page);
if (form.elements.id_lot && form.elements.id_lot.value) contact_form.append('id_lot', form.elements.id_lot.value);
contact_form.append('projet', projet);
contact_form.append('donation', donation);
contact_form.append('nom', nom);
contact_form.append('prenom', prenom);
contact_form.append('telephone', telephone);
contact_form.append('email', email);
contact_form.append('commune', commune);
contact_form.append('code_postal', code_postal);
contact_form.append('message', message);
contact_form.append('cnil', cnil);
contact_form.append('emplacement', emplacement);
if( guide_du_neuf ){
contact_form.append('guide_du_neuf', true);
}
contact_form.append('gsm', gsm);
contact_form.append('comment', comment);
try {
xhr_contact.open("post", '/contact_xhr.php', true);
xhr_contact.timeout = 20000;
xhr_contact.send(contact_form);
} catch (error) {
terminer_contact(false);
}
} else {
var fields = [
"nom",
"prenom",
"telephone",
"email",
"commune",
"code_postal"
];
for( var f = 0 ; f < fields.length ; f ++ ){
if( form[fields[f]].value == '' ){
form[fields[f]].style['background'] = '#FFCCCC';
} else{
form[fields[f]].style['background'] = 'inherit';
}
}
sending_data = false;
}
}
return false;
}
if (typeof check_projet_contact_form === 'undefined') {
function check_projet_contact_form(form) {
const actives = form.querySelectorAll(".active");
for( let active of actives){
active.classList.remove("active");
}
if (event.target.name === "select_investir") {
form.select_investir.classList.add("active");
form.projet.value = "investir";
form.donation.value = 0;
} else if (event.target.name === "select_habiter") {
form.select_habiter.classList.add("active");
form.projet.value = "habiter";
form.donation.value = 0;
} else if ((event.target.name === "select_location_search" || event.target.name === "select_location_owner") && form.querySelector('.location-project-grid')) {
form.select_location.classList.add("active");
event.target.classList.add("active");
form.projet.value = event.target.value;
form.donation.value = 0;
} else if (event.target.name === "select_donation_habiter" || event.target.name === "select_donation_investir" ) {
form.select_donation.classList.add("active");
event.target.classList.add("active");
form.projet.value = "";
form.donation.value = event.target.value;
}
}
}
let dropdown_donation_open = false;
function set_dropdown_donation_state(el, opened) {
el.style.display = opened ? 'block' : 'none';
el.parentNode.classList.toggle('donation_opened', opened);
el.parentNode.setAttribute('aria-expanded', String(opened));
}
function open_dropdown_donation(el, force){
event.stopPropagation();
const opened = !force && el.style.display !== 'block';
document.querySelectorAll('.formulaire_contact .dropdown_donation').forEach(function(dropdown) {
set_dropdown_donation_state(dropdown, dropdown === el && opened);
});
dropdown_donation_open = opened;
}
document.addEventListener('click', function(e) {
document.querySelectorAll('.formulaire_contact .dropdown_donation').forEach(function(dropdown) {
if (!dropdown.parentNode.contains(e.target)) {
set_dropdown_donation_state(dropdown, false);
}
});
dropdown_donation_open = !!document.querySelector('.formulaire_contact .donation_opened');
}, true);
if (typeof fill_input === 'undefined') {
function fill_input(form,projet_select) {
let select_projet_title_text = "Sélectionnez votre projet";
switch ( parseInt( projet_select ) ){
default:
case 1 :
form.projet.value = "habiter";
form.donation.value = 0;
select_projet_title_text = "Habiter";
break;
case 2 :
form.projet.value = "investir";
form.donation.value = 0;
select_projet_title_text = "Investir";
break;
case 3 :
form.projet.value = "gestion";
form.donation.value = 0;
select_projet_title_text = "Faire gérer mon bien";
form.message.value = "Je souhaite mettre mon bien en location"
break;
case 4 :
form.projet.value = "gestion";
form.donation.value = 0;
select_projet_title_text = "Trouver une location";
form.message.value = "Je recherche une location"
break;
case 5 :
form.projet.value = "";
form.donation.value = 1;
select_projet_title_text = "Donation pour habiter";
break;
case 6 :
form.projet.value = "";
form.donation.value = 2;
select_projet_title_text = "Donation pour investir";
break;
}
form.select_projet_title.innerText = select_projet_title_text;
}
}
let select_project_open = false;
function open_select_project(el, force){
event.stopPropagation();
if(select_project_open || force){
el.style['display'] = 'none';
select_project_open = false;
el.parentNode.classList.remove("select_opened");
} else {
el.style['display'] = 'flex';
select_project_open = true;
el.parentNode.classList.add("select_opened");
}
}
let unwrap_elements = [];
function unwrap(el){
let wrapper = el.parentNode;
let help_text = el.querySelector('span');
let container = wrapper.querySelector(".wrap_content");
if( unwrap_elements.includes(wrapper) ){
unwrap_elements = unwrap_elements.filter(e => e !== wrapper);
help_text.innerHTML = "Lire plus";
container.style['max-height'] = "300px";
wrapper.classList.remove("unwrap");
el.parentNode.scrollIntoView({ behavior: "smooth", block: "start" });
} else {
unwrap_elements.push(wrapper);
help_text.innerHTML = "Lire moins";
container.style['max-height'] = "20000px";
wrapper.classList.add("unwrap");
}
}
let unwrap_elements_custom = [];
function unwrap_custom(btn, options = { more: "Lire plus", less: "Lire moins" } ) {
const wrapper = btn.parentNode;
const container = wrapper.querySelector(".wrap_custom_content");
const help_text = btn.querySelector(".wrap_help_text");
console.log( wrapper );
if (!container) return;
const dataset_more = btn.dataset.textMore;
const dataset_less = btn.dataset.textLess;
const final_options = {
more: dataset_more || options.more,
less: dataset_less || options.less
};
capture_original_constraint(container);
const is_open = unwrap_elements_custom.includes(wrapper);
if (is_open) {
const collapse_height = read_collapse_height(wrapper);
if (collapse_height != null) {
apply_collapse_height(container, collapse_height);
} else {
restore_original_constraint(container);
}
unwrap_elements_custom = unwrap_elements_custom.filter(n => n !== wrapper);
wrapper.classList.remove("unwrap_custom");
btn.setAttribute("aria-expanded", "false");
if (help_text) help_text.innerHTML = final_options.more;
wrapper.scrollIntoView({ behavior: "smooth", block: "start" });
} else {
remove_constraint(container);
unwrap_elements_custom.push(wrapper);
wrapper.classList.add("unwrap_custom");
btn.setAttribute("aria-expanded", "true");
if (help_text) help_text.innerHTML = final_options.less;
}
}
function init_unwrap_auto(root_node = document, options = { more: "Lire plus", less: "Lire moins" }) {
const wrappers = root_node.querySelectorAll(".wrap_custom");
wrappers.forEach(wrapper => {
const container = wrapper.querySelector(".wrap_custom_content");
const btn = wrapper.querySelector(".wrap_custom_toggle");
const help_text = btn ? btn.querySelector(".wrap_help_text") : null;
if (!container || !btn) return;
unwrap_elements_custom = unwrap_elements_custom.filter(n => n !== wrapper);
const text_more = btn.dataset.textMore || options.more;
capture_original_constraint(container);
const collapse_height = read_collapse_height(wrapper);
if (collapse_height != null) {
apply_collapse_height(container, collapse_height);
} else {
restore_original_constraint(container);
}
const overflowing = is_overflowing(container);
if (overflowing) {
btn.style.display = "";
btn.setAttribute("aria-expanded", "false");
if (help_text) help_text.innerHTML = text_more;
wrapper.classList.remove("unwrap_custom");
} else {
remove_constraint(container);
btn.style.display = "none";
wrapper.classList.add("unwrap_custom");
if (!unwrap_elements_custom.includes(wrapper)) {
unwrap_elements_custom.push(wrapper);
}
}
one_time_resize_recheck(container, () => {
if (collapse_height != null) apply_collapse_height(container, collapse_height);
const now_overflowing = is_overflowing(container);
if (now_overflowing) {
btn.style.display = "";
btn.setAttribute("aria-expanded", "false");
if (help_text) help_text.innerHTML = text_more;
restore_collapsed_state(container, wrapper, collapse_height);
} else {
remove_constraint(container);
btn.style.display = "none";
wrapper.classList.add("unwrap_custom");
if (!unwrap_elements_custom.includes(wrapper)) {
unwrap_elements_custom.push(wrapper);
}
}
});
});
}
function read_collapse_height(wrapper) {
const raw = wrapper.getAttribute("data-collapse_height");
if (!raw) return null;
const n = parse_int_safe(raw, null);
return n != null ? n : null;
}
function parse_int_safe(value, fallback) {
const n = parseInt(value, 10);
return Number.isNaN(n) ? fallback : n;
}
function is_overflowing(el) {
return Math.ceil(el.scrollHeight) > Math.ceil(el.clientHeight);
}
function capture_original_constraint(container) {
if (container.dataset._cap_captured === "1") return;
const cs = window.getComputedStyle(container);
container.dataset._orig_max_height = cs.maxHeight;
container.dataset._orig_height = cs.height;
container.dataset._orig_overflow = cs.overflow;
container.dataset._cap_captured = "1";
}
function restore_original_constraint(container) {
const orig_max = container.dataset._orig_max_height || "none";
const orig_height = container.dataset._orig_height || "auto";
const orig_overflow = container.dataset._orig_overflow || "visible";
container.style.maxHeight = orig_max;
if (orig_height !== "auto") container.style.height = orig_height;
container.style.overflow = orig_overflow;
}
function apply_collapse_height(container, height_px) {
container.style.height = "";
container.style.maxHeight = height_px + "px";
container.style.overflow = "hidden";
}
function remove_constraint(container) {
container.style.maxHeight = "none";
container.style.height = "auto";
container.style.overflow = "visible";
}
function restore_collapsed_state(container, wrapper, collapse_height) {
if (collapse_height != null) {
apply_collapse_height(container, collapse_height);
} else {
restore_original_constraint(container);
}
wrapper.classList.remove("unwrap_custom");
unwrap_elements_custom = unwrap_elements_custom.filter(n => n !== wrapper);
}
function one_time_resize_recheck(container, callback_once) {
if (!("ResizeObserver" in window)) return;
let done = false;
const ro = new ResizeObserver(() => {
if (done) return;
done = true;
callback_once();
ro.disconnect();
});
ro.observe(container);
}
document.addEventListener("DOMContentLoaded", () => {
init_unwrap_auto(document, { more: "Lire plus", less: "Lire moins" });
});
▾
Retour
Accueil
Immobilier neuf Montpellier Grammont
Immobilier neuf Montpellier Grammont
Le quartier Grammont se situe en zone A
1 programme immobilier neuf à Grammont est en cours de commercialisation
Retour à la carte
📧 Contactez un conseiller
Pour habiter ou investir à Grammont
Retour
14
Programmes neufs à proximité de Grammont
Avis de l'expert
Quartier vert et ressourçant de l’est de Montpellier, Grammont séduit par son immense Domaine de 90 ha, combiné à ses infrastructures sportives et culturelles (Théâtre des 13 Vents, skatepark, centre équestre). Il bénéficie aussi d’une future logistique urbaine forte, avec la création d’un centre d’exploitation et de maintenance tram/bus sur place d’ici 2026.
Reste aux yeux de certain, un sentiment d’isolement par rapport aux commerces de proximité, malgré les connexions via tram/bus et la proximité directe d'Odysséum (Plus grand centre commerciale de l'Hérault), mais l’accord‑cadre en cours sur l’aménagement paysager du site vise précisément à renforcer l’intégration urbaine et à valoriser son potentiel résidentiel.
Alexandre Cadon-Wislez Courtier indépendant en immobilier neuf
Nos dernières actualités
Logement senior à Montpellier : une ville jeune qui doit préparer ses vieux jours
12 novembre 2026
Hervé Koffel
À Montpellier, les 65-79 ans ont bondi de 34 % en onze ans. Le vrai chantier ne se jouera pas en maison de retraite : 96 % des plus de 60 ans veulent vieillir chez eux.
Lire l'article
Coût de construction des logements : les conclusions du rapport à l'Assemblée
09 novembre 2026
Hervé Koffel
Une mission flash de l'Assemblée nationale dresse l'inventaire des surcoûts qui renchérissent la construction neuve. Ses pistes divisent les députés, alors que l'inflation et les taux de crédit remontent.
Lire l'article
Icade Montpellier veut doubler sa production régionale de logement
06 novembre 2026
Hervé Koffel
Deux fois plus de logements en trois ans, en pleine panne du neuf : Icade Promotion fixe le cap en Languedoc-Roussillon. BRS, ventes aux bailleurs et nouvelles résidences autour de Montpellier portent ce pari.
Lire l'article
Pourquoi la chute des permis ne videra pas l'immobilier neuf à Montpellier dès 2027
02 novembre 2026
Hervé Koffel
Les permis s'effondrent dans l'Hérault, mais les grues tournent et l'offre neuve progresse encore à Montpellier. Décryptage d'un décalage qui place le risque sur les lancements à venir plutôt que sur les clés de 2027.
Lire l'article
PTZ parentalité 2027 : une naissance pourrait rouvrir le dispositif aux propriétaires
29 octobre 2026
Hervé Koffel
Conditions, coût pour l'État, version élargie votée en commission : ce que l'article 7 du PLF 2027 réserve aux familles déjà propriétaires. Le décryptage avant le vote des députés sur la partie recettes, le 3 novembre 2026.
Lire l'article
NGE va bâtir le futur siège du Crédit Agricole à Montpellier
26 octobre 2026
Hervé Koffel
Plus de 50 M€ pour sortir Le Sillon de terre : NGE prend la main sur le futur campus du Crédit Agricole du Languedoc, à Cambacérès. Bois, paille de Camargue, jusqu'à 1 500 occupants attendus et une livraison annoncée en 2029, à une date encore à préciser.
Lire l'article
In Médio Montpellier : des logements neufs réservés par les entreprises pour leurs salariés
22 octobre 2026
Hervé Koffel
Recruter un candidat, puis le perdre faute d'appartement : à Montpellier, des employeurs en font l'expérience. Avec In Médio, ce sont eux qui réservent, pour leurs salariés, des logements neufs à loyer maîtrisé.
Lire l'article
ZAC Ricardo Bofill à Montpellier : l'ancienne mairie, dernier verrou entre la Comédie et Antigone
19 octobre 2026
Hervé Koffel
Relier la Comédie à Antigone sans les escalators du Polygone : la clé est l'ancienne mairie. Derrière ses façades de 1975 se prépare une vaste liaison piétonne vers le Lez, et plus de 80 000 m² de projets.
Lire l'article
Encadrement des loyers 2026 : la Cour des comptes pose ses conditions avant toute prolongation
16 octobre 2026
Hervé Koffel
Plafonds mal calibrés, recours illisibles : la Cour des comptes refuse un encadrement des loyers reconduit tel quel. Le Parlement a jusqu'à fin novembre 2026 pour trancher, et Montpellier attend son verdict.
Lire l'article
Près de 500 logements attendus sur la friche Groupama, à Montpellier
12 octobre 2026
Hervé Koffel
Des bureaux vides depuis 2023 et, demain, dix immeubles autour d'un parc : la friche Groupama prépare sa mue à dix minutes de la Comédie. Le permis d'aménager est signé, les premiers permis de construire se font attendre, et le quartier Chaptal compte bien peser sur le projet.
Lire l'article
Notre offre immobilière à Montpellier
Programmes immobiliers en périphérie
Voir
Programmes immobiliers en centre-ville
Voir
Pourquoi nous choisir ?
🗺
+1000 programmes immobiliers neufs
🏘
Prix garantis direct promoteurs
🤝
98% des promoteurs nous font confiance
🌟
Un interlocuteurunique
🏗
250 promoteurs partenaires
📊
20 ans d'expertise en immobilier neuf à Montpellier
✖
Transformez votre loyer en Patrimoine
M. & Mme Dubois étaient locataires d'un T3 en zone A à 1 000 €/mois
Avec leur revenu fiscal de référence de 35 000 € ils sont éligibles au Prêt à Taux Zéro
🏡
T3 à 310 000 € frais de notaire inclus
◎
PTZ + Prêt Aidé de 165 000 €
💸
Apport de 31 000 €
🏦
Emprunt de 125 000 € à 3.20 % sur 25 ans
Leur nouvelle mensualité s'élève à 1 150 €/mois , ils sont devenus propriétaires de leur résidence principale pour 150 € de plus par mois*
Contactez-nous & obtenez votre simulation gratuite
*Document non contractuel. Voir conditions en agence
En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour la réalisation de statistiques de visites.
J'accepte