diff --git a/src/Equation.java b/src/Equation.java
index 1b40eeaac0d1591956a9eb1aea65236f28bed13e..21c6e03f6b6a72e448fe463142f0b34d9d9addea 100644
--- a/src/Equation.java
+++ b/src/Equation.java
@@ -1,5 +1,4 @@
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 public class Equation {
@@ -54,6 +53,10 @@ public class Equation {
         return mat;
     }
 
+    public Double getMatAtId(int w, int h) {
+        return mat[w][h];
+    }
+
     public void setMat(Double n, int w, int h) {
         this.mat[w][h] = n;
     }
@@ -81,48 +84,85 @@ public class Equation {
     }
 
     /**
-     * Créer le vecteurs éléments de droite et la matrice Amxn
+     * Créer le vecteurs éléments de droite et la matrice Amxn quand le sens est à min
      * @param elements
      * @param line
      */
-    public void createEq(String[] elements, int line) {
-        // Vecteur de droite
-        addInRightVec(elements);
-        // Matrice
-        addInMat(elements, line);
-    }
-
-    /**
-     * Ajouter dans le vecteur de droite
-     * @param elements
-     */
-    public void addInRightVec(String[] elements){
+    public void createMinEq(String[] elements, int line) {
         try {
+            // vecteur de droite
             setRightVec(Double.parseDouble(elements[elements.length - 1]));
+
+            // Matrice
+            for (int i = 0; i < 5; i++) {
+                setMat(Double.parseDouble(elements[i]), line, i);
+            }
+
         } catch (NumberFormatException ex) {
             ex.printStackTrace();
         }
     }
 
     /**
-     * Ajouter dans la matrice
+     * Créer le vecteurs éléments de droite et la matrice Amxn quand le sens est à max
      * @param elements
      * @param line
      */
-    public void addInMat(String[] elements, int line) {
+    public int createMaxEq(String[] elements, int line) {
         try {
-            for (int i = 0; i < 5; i++) {
-                setMat(Double.parseDouble(elements[i]), line, i);
+            // vecteur de droite
+            switch(elements[5]) {
+                case "=": // Si ax=b => ax <= b; ax >= b
+                    // Vecteur de droite 
+                    setRightVec(Double.parseDouble(elements[elements.length - 1]));
+                    setRightVec(Double.parseDouble(elements[elements.length - 1]));
+
+                    // Matrice
+                    for (int i = 0; i < 5; i++) {
+                        setMat(Double.parseDouble(elements[i]), line, i);
+                        setMat(Double.parseDouble(elements[i]), line+1, i);
+                    }
+                    // On rajoute une ligne
+                    line += 1;
+                    break;
+                case ">=":
+                    // Vecteur de droite
+                    setRightVec(-Double.parseDouble(elements[elements.length - 1]));
+
+                    // Matrice
+                    for (int i = 0; i < 5; i++) {
+                        setMat(-Double.parseDouble(elements[i]), line, i);
+                    }
+                    break;
+                case "<=":
+                    // Vecteur de droite
+                    setRightVec(Double.parseDouble(elements[elements.length - 1]));
+
+                    // Matrice
+                    for (int i = 0; i < 5; i++) {
+                        setMat(Double.parseDouble(elements[i]), line, i);
+                    }
+                    break;
             }
-        } catch(NumberFormatException ex) {
+
+        } catch (NumberFormatException ex) {
             ex.printStackTrace();
         }
+        return line;
+    }
+
+    /**
+     * Ajouter dans le vecteur de droite
+     * @param elements
+     */
+    public void addInRightVec(String[] elements){
+        
     }
 
     /**
      * Print les vecteurs et la matrice
      */
-    public void printEq(){
+    public void printEq(int width){
         // Sens
         System.out.println("Sens: " + getSens());
 
@@ -132,7 +172,16 @@ public class Equation {
         // Vecteur membre de droite
         System.out.println("Vecteur membre de droite: " + getRightVec());
 
+        System.out.println("Matrice Amxn:");
         // Matrice Amxn
-        System.out.println("Matrice Amxn: " + Arrays.deepToString(getMat()));
+        for(int i = 0; i < width; i ++) {
+            for(int j = 0; j < 5; j ++) {
+                if(getMatAtId(i, j) < 0)
+                    System.out.print(getMatAtId(i, j) + " ");
+                else
+                    System.out.print(" " + getMatAtId(i, j) + " ");
+            }
+            System.out.println();
+        }
     }
 }
diff --git a/src/Main.java b/src/Main.java
index d320e2f0506359db25962b67900a566cb458fb82..ec1e8e20dbb1b3a568c536b37ca272f1bcf96fd7 100644
--- a/src/Main.java
+++ b/src/Main.java
@@ -18,7 +18,7 @@ public class Main {
             String[] elements;
             int widthMat = nbLines(sc);
             sc = new Scanner(f); // remettre le scanner à la première ligne
-            Equation eq = new Equation(widthMat);
+            Equation eq = new Equation(widthMat*2); // ajout de ligne supp si sens: max et = donc + 1 ligne
             int line = 0;
 
             // Max / Min + function obj
@@ -26,21 +26,22 @@ public class Main {
             elements = firstLine.split(";");
             eq.setFirstLine(elements);
 
-            if(eq.getSens().equals("min")) {
-                // S.C.
-                while (sc.hasNextLine()) {
-                    String tmp = sc.nextLine();
-                    elements = tmp.split(";");
-                    eq.createEq(elements, line);
-                    line++;
+           
+            // S.C.
+            while (sc.hasNextLine()) {
+                String tmp = sc.nextLine();
+                elements = tmp.split(";");
+                
+                if(eq.getSens().equals("min")) {
+                    eq.createMinEq(elements, line);
+                } else {
+                    line = eq.createMaxEq(elements, line);
                 }
-            } else {
-                // TODO reverse eq
-                System.out.println("Reverse eq");
+                line++;
             }
 
             // Print
-            eq.printEq();
+            eq.printEq(line);
             sc.close();
         } catch (FileNotFoundException e) {
             throw new RuntimeException(e);