diff --git a/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/util/SysMLQualifiedName.java b/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/util/SysMLQualifiedName.java
index 7a36d26..bff5f51 100644
--- a/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/util/SysMLQualifiedName.java
+++ b/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/util/SysMLQualifiedName.java
@@ -26,4 +26,9 @@
 	 */
 	@Deprecated
 	public static final String STEREOTYPE_FLOWPORT_DIRECTION = "SysML::DeprecatedElements::FlowPort::direction"; //$NON-NLS-1$
+	
+	/** 
+	 * QN of SysML::Requirement::Requirement::text. 
+	 */
+	public static final String SYSML_REQUIREMENTS_REQUIREMENT_TEXT_QN = "SysML::Requirements::Requirement::text"; //$NON-NLS-1$
 }
diff --git a/table/org.eclipse.papyrus.sysml14.nattable.allocation/META-INF/MANIFEST.MF b/table/org.eclipse.papyrus.sysml14.nattable.allocation/META-INF/MANIFEST.MF
index 51bce0e..4839d23 100644
--- a/table/org.eclipse.papyrus.sysml14.nattable.allocation/META-INF/MANIFEST.MF
+++ b/table/org.eclipse.papyrus.sysml14.nattable.allocation/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
  org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
- org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.7.0,2.0.0)", 
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.7.0,2.0.0)",
  org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.papyrus.infra.nattable;bundle-version="[4.0.0,5.0.0)",
  org.eclipse.papyrus.infra.tools;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.papyrus.infra.nattable.model;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)", 
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.papyrus.sysml14;bundle-version="0.11.0",
  org.eclipse.papyrus.sysml14.service.types;bundle-version="0.11.0",
  org.eclipse.papyrus.sysml14.nattable.common;bundle-version="0.11.0"
diff --git a/table/org.eclipse.papyrus.sysml14.nattable.requirement/META-INF/MANIFEST.MF b/table/org.eclipse.papyrus.sysml14.nattable.requirement/META-INF/MANIFEST.MF
index 8ae1540..7d328c8 100644
--- a/table/org.eclipse.papyrus.sysml14.nattable.requirement/META-INF/MANIFEST.MF
+++ b/table/org.eclipse.papyrus.sysml14.nattable.requirement/META-INF/MANIFEST.MF
@@ -3,11 +3,14 @@
  org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
  org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)",
  org.eclipse.gmf.runtime.diagram.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.tools;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.emf.nattable;bundle-version="3.0.0",
  org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.papyrus.infra.nattable;bundle-version="[4.0.0,5.0.0)",
- org.eclipse.papyrus.infra.tools;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.papyrus.infra.nattable.model;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)", 
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.nattable;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.nattable.richtext;bundle-version="[2.1.0,3.0.0)",
  org.eclipse.papyrus.sysml14;bundle-version="0.11.0",
  org.eclipse.papyrus.sysml14.service.types;bundle-version="0.11.0"
 Bundle-Vendor: %Bundle-Vendor
diff --git a/table/org.eclipse.papyrus.sysml14.nattable.requirement/plugin.xml b/table/org.eclipse.papyrus.sysml14.nattable.requirement/plugin.xml
index 84813b4..8022055 100644
--- a/table/org.eclipse.papyrus.sysml14.nattable.requirement/plugin.xml
+++ b/table/org.eclipse.papyrus.sysml14.nattable.requirement/plugin.xml
@@ -91,5 +91,11 @@
             icon="icons/table_SysML_Requirement_new.png">
       </image>
    </extension>
-   
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.celleditor.configuration">
+      <cellAxisConfiguration
+            class="org.eclipse.papyrus.sysml14.nattable.requirement.config.RequirementTextStringCellEditorConfiguration"
+            order="149"><!--This configuration has priority over the RichTextCellEditorConfiguration-->
+      </cellAxisConfiguration>
+   </extension>
 </plugin>
diff --git a/table/org.eclipse.papyrus.sysml14.nattable.requirement/src/org/eclipse/papyrus/sysml14/nattable/requirement/config/RequirementTextStringCellEditorConfiguration.java b/table/org.eclipse.papyrus.sysml14.nattable.requirement/src/org/eclipse/papyrus/sysml14/nattable/requirement/config/RequirementTextStringCellEditorConfiguration.java
new file mode 100644
index 0000000..fe13daa
--- /dev/null
+++ b/table/org.eclipse.papyrus.sysml14.nattable.requirement/src/org/eclipse/papyrus/sysml14/nattable/requirement/config/RequirementTextStringCellEditorConfiguration.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *   Thanh Liem PHAN (ALL4TEC) thanhliem.phan@all4tec.net - Bug 519406
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml14.nattable.requirement.config;
+
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.utils.AxisUtils;
+import org.eclipse.papyrus.sysml14.util.SysMLQualifiedName;
+import org.eclipse.papyrus.uml.nattable.richtext.celleditor.config.RichTextCellEditorConfiguration;
+import org.eclipse.papyrus.uml.nattable.utils.UMLTableUtils;
+
+/**
+ * Cell Editor configuration for the Text field of Requirement table.
+ * 
+ * @since 0.11.0
+ */
+public class RequirementTextStringCellEditorConfiguration extends RichTextCellEditorConfiguration {
+
+	/** The ID of this cell editor. */
+	private static final String ID = "org.eclipse.papyrus.sysml14.nattable.requirement.config.RequirementTextStringCellEditorConfiguration";//$NON-NLS-1$
+
+	/** Requirement Text column ID in SysML Requirements table. */
+	private static final String SYSML_REQUIREMENTS_REQUIREMENT_TEXT_ID = UMLTableUtils.PROPERTY_OF_STEREOTYPE_PREFIX + SysMLQualifiedName.SYSML_REQUIREMENTS_REQUIREMENT_TEXT_QN;
+	
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.configuration.IPapyrusNatTableConfiguration#getConfigurationId()
+	 */
+	@Override
+	public String getConfigurationId() {
+		return ID;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.configuration.IPapyrusNatTableConfiguration#getConfigurationDescription()
+	 */
+	@Override
+	public String getConfigurationDescription() {
+		return "This configuration provides a Rich Text Editor for the Text field of Requirement table";
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.infra.nattable.celleditor.config.ICellAxisConfiguration#handles(org.eclipse.papyrus.infra.nattable.model.nattable.Table, java.lang.Object)
+	 */
+	@Override
+	public boolean handles(final Table table, final Object axisElement) {
+
+		// Handle only the Requirement::text column in Requirement table
+		return (SYSML_REQUIREMENTS_REQUIREMENT_TEXT_ID.equals(AxisUtils.getPropertyId(axisElement)));
+	}
+}
