diff --git a/.gitattributes b/.gitattributes
index 91b36e3f459ff1e38f16e0511fbe5e6f7b1e84ab..592e632b6a1a2d173aeed43829ad506a8e57ef8c 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -14,10 +14,8 @@ verifier/entier.php -text
 verifier/entier.yaml -text
 verifier/regex.php -text
 verifier/regex.yaml -text
-verifier/siren.php -text
-verifier/siren.yaml -text
-verifier/siret.php -text
-verifier/siret.yaml -text
+verifier/siren_siret.php -text
+verifier/siren_siret.yaml -text
 verifier/taille.php -text
 verifier/taille.yaml -text
 verifier/telephone.php -text
diff --git a/lang/verifier_fr.php b/lang/verifier_fr.php
index df26b59e8ed225b71ac0c5919db4b471eba87632..9fa4abeffd567e15ce42a6361d9cb9ba1285d536 100644
--- a/lang/verifier_fr.php
+++ b/lang/verifier_fr.php
@@ -28,6 +28,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 	'option_entier_max_label' => 'Valeur maximum',
 	'option_entier_min_label' => 'Valeur minimum',
 	'option_regex_modele_label' => 'La valeur doit correspondre au masque suivant',
+	'option_siren_siret_mode' => 'Que voulez-vous vérifier ?',
+	'option_siren_siret_mode_siren' => 'le SIREN',
+	'option_siren_siret_mode_siret' => 'le SIRET',
 	'option_taille_max_label' => 'Taille maximum',
 	'option_taille_min_label' => 'Taille minimum',
 
@@ -42,10 +45,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 	'type_entier_description' => 'Vérifie que la valeur est un entier, avec la possibilité de restreindre entre deux valeurs.',
 	'type_regex' => 'Expression régulière',
 	'type_regex_description' => 'V&eacute;rifie que la valeur correspond au masque demand&eacute;. Pour l\'utilisation des masques, reportez-vous à <a href="http://fr2.php.net/manual/fr/reference.pcre.pattern.syntax.php">l\'aide en ligne de PHP</a>.',
-	'type_siren' => 'SIREN',
-	'type_siren_description' => 'V&eacute;rifie que la valeur est un num&eacute;ro valide du <a href="http://fr.wikipedia.org/wiki/SIREN">Syst&egrave;me d&rsquo;Identification du R&eacute;pertoire des ENtreprises</a> fran&ccedil;ais.',
-	'type_siret' => 'SIRET',
-	'type_siret_description' => 'V&eacute;rifie que la valeur est un num&eacute;ro valide du <a href="http://fr.wikipedia.org/wiki/SIRET">Syst&egrave;me d&rsquo;Identification du R&eacute;pertoire des ETablissements</a> fran&ccedil;ais.',
+	'type_siren_siret' => 'SIREN ou SIRET',
+	'type_siren_siret_description' => 'V&eacute;rifie que la valeur est un num&eacute;ro valide du <a href="http://fr.wikipedia.org/wiki/SIREN">Syst&egrave;me d&rsquo;Identification du R&eacute;pertoire des ENtreprises</a> fran&ccedil;ais.',
 	'type_taille' => 'Taille',
 	'type_taille_description' => 'V&eacute;rifie que la taille de la valeur correspond au minimum et/ou au maximum demand&eacute;.',
 	'type_telephone' => 'Num&eacute;ro de t&eacute;l&eacute;phone',
diff --git a/verifier/siren.php b/verifier/siren.php
deleted file mode 100644
index 2c7d28892717b607739781ed9427a4af5d9781a4..0000000000000000000000000000000000000000
--- a/verifier/siren.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-// Sécurité
-if (!defined("_ECRIRE_INC_VERSION")) return;
-
-/**
- * 1/ Un SIREN comporte STRICTEMENT 9 caractères
- * 1b/ Un SIRET comporte strictement 14 caractères
- * 2/ Un siren/siret utilise une clef de controle "1-2"
- *    Un siren/siret est donc valide si la somme des chiffres paires
- *    + la somme du double de tous les chiffres impairs (16 = 1+6 = 7) est un multiple de 10
- */
-
-function verifier_siren_dist($valeur, $options=array()){
-	$erreur = _T('verifier:erreur_siren');
-	$ok = '';
-
-	// Si pas 9 caractère, c'est déjà foiré !
-	if(!preg_match('/^[0-9]{9}$/',$valeur)) return $erreur;
-	
-	// On vérifie la clef de controle "1-2"
-	$somme = 0;
-	$i = 0; // Les impaires
-	while($i < 9){ $somme += $valeur[$i]; $i+=2; }
-	$i = 1; // Les paires !
-	while($i < 9){ if((2*$valeur[$i])>9) $somme += (2*$valeur[$i])-9; else $somme += 2*$valeur[$i]; $i+=2; }
-	
-	if($somme % 10) return $erreur;
-	
-	return $ok;
-}
diff --git a/verifier/siren.yaml b/verifier/siren.yaml
deleted file mode 100644
index 2ea4ea12aefd4aefcde14827af872a3ff252b294..0000000000000000000000000000000000000000
--- a/verifier/siren.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-titre: '<:verifier:type_siren:>'
-description: '<:verifier:type_siren_description:>'
diff --git a/verifier/siren_siret.php b/verifier/siren_siret.php
new file mode 100644
index 0000000000000000000000000000000000000000..b284a7747af3d7e21ca1885691d3d9b7b6a31c7e
--- /dev/null
+++ b/verifier/siren_siret.php
@@ -0,0 +1,58 @@
+<?php
+
+// Sécurité
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+/**
+ * 1/ Un SIREN comporte STRICTEMENT 9 caractères
+ * 1b/ Un SIRET comporte strictement 14 caractères
+ * 2/ Un siren/siret utilise une clef de controle "1-2"
+ *    Un siren/siret est donc valide si la somme des chiffres paires
+ *    + la somme du double de tous les chiffres impairs (16 = 1+6 = 7) est un multiple de 10
+ */
+
+function verifier_siren_siret_dist($valeur, $options=array()){
+	if (!$options['mode'] or !in_array($options['mode'], array('siren', 'siret'))){
+		$mode = 'siren';
+	}
+	else{
+		$mode = $options['mode'];
+	}
+	
+	// Test de SIREN
+	if ($mode == 'siren'){
+		$erreur = _T('verifier:erreur_siren');
+
+		// Si pas 9 caractère, c'est déjà foiré !
+		if(!preg_match('/^[0-9]{9}$/',$valeur)) return $erreur;
+	
+		// On vérifie la clef de controle "1-2"
+		$somme = 0;
+		$i = 0; // Les impaires
+		while($i < 9){ $somme += $valeur[$i]; $i+=2; }
+		$i = 1; // Les paires !
+		while($i < 9){ if((2*$valeur[$i])>9) $somme += (2*$valeur[$i])-9; else $somme += 2*$valeur[$i]; $i+=2; }
+	
+		if ($somme % 10) return $erreur;
+	}
+	// Test de SIRET
+	else{
+		$erreur = _T('verifier:erreur_siret');
+
+		// Si pas 14 caractère, c'est déjà foiré !
+		if(!preg_match('/^[0-9]{14}$/',$valeur)) return $erreur;
+		if(preg_match('/[0]{8}/',$valeur)) return $erreur;
+
+		// Pour le SIRET on vérifie la clef de controle "1-2" avec les impaires *2
+		// (vs pairs*2 pour SIREN, parce qu'on part de la fin)
+		$somme = 0;
+		$i = 1; // Les paires
+		while($i < 14){ $somme += $valeur[$i]; $i+=2; }
+		$i = 0; // Les impaires !
+		while($i < 14){ if((2*$valeur[$i])>9) $somme += (2*$valeur[$i])-9; else $somme += 2*$valeur[$i]; $i+=2; }
+	
+		if($somme % 10) return $erreur;
+	}
+	
+	return '';
+}
diff --git a/verifier/siren_siret.yaml b/verifier/siren_siret.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..364493284dd436b57acf5f9a5b874923b65cd4e5
--- /dev/null
+++ b/verifier/siren_siret.yaml
@@ -0,0 +1,12 @@
+
+titre: '<:verifier:type_siren_siret:>'
+description: '<:verifier:type_siren_siret_description:>'
+options:
+  -
+    saisie: 'radio'
+    options:
+      nom: 'mode'
+      label: '<:verifier:option_siren_siret_mode:>'
+      datas:
+        siren: '<:verifier:option_siren_siret_mode_siren:>'
+        siret: '<:verifier:option_siren_siret_mode_siret:>'
diff --git a/verifier/siret.php b/verifier/siret.php
deleted file mode 100644
index 43d5d5778d8e0492c3ab93598f8ef5d604d4b04f..0000000000000000000000000000000000000000
--- a/verifier/siret.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-// Sécurité
-if (!defined("_ECRIRE_INC_VERSION")) return;
-
-/**
- * 1/ Un SIREN comporte STRICTEMENT 9 caractères
- * 1b/ Un SIRET comporte strictement 14 caractères
- * 2/ Un siren/siret utilise une clef de controle "1-2"
- *    Un siren/siret est donc valide si la somme des chiffres paires
- *    + la somme du double de tous les chiffres impairs (16 = 1+6 = 7) est un multiple de 10
- */
-
-function verifier_siret_dist($valeur, $options=array()){
-	$erreur = _T('verifier:erreur_siret');
-	$ok = '';
-
-	// Si pas 14 caractère, c'est déjà foiré !
-	if(!preg_match('/^[0-9]{14}$/',$valeur)) return $erreur;
-	if(preg_match('/[0]{8}/',$valeur)) return $erreur;
-
-	// Pour le SIRET on vérifie la clef de controle "1-2" avec les impaires *2
-	// (vs pairs*2 pour SIREN, parce qu'on part de la fin)
-	$somme = 0;
-	$i = 1; // Les paires
-	while($i < 14){ $somme += $valeur[$i]; $i+=2; }
-	$i = 0; // Les impaires !
-	while($i < 14){ if((2*$valeur[$i])>9) $somme += (2*$valeur[$i])-9; else $somme += 2*$valeur[$i]; $i+=2; }
-	
-	if($somme % 10) return $erreur;
-	
-	return $ok;
-}
diff --git a/verifier/siret.yaml b/verifier/siret.yaml
deleted file mode 100644
index e64f9b4c0b2931f56645bb2365b52ce2e033fa87..0000000000000000000000000000000000000000
--- a/verifier/siret.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-titre: '<:verifier:type_siret:>'
-description: '<:verifier:type_siret_description:>'