Amélioration d'un code

Bonjour,

J'ai créé le code suivant afin de pouvoir créer des lignes dans un tableau en fonction du contenu de certaines colonnes.

Sub Ajout_ligne()
Dim i As Integer, j As Integer

'Permet de ne pas voir la macro s'effectuer, elle affiche juste le résultat final
Application.ScreenUpdating = False

'la macro s'effectuera sur la feuille activée de ton fichier excel
With ThisWorkbook.ActiveSheet

'Pour chaque ligne de ton fichier de la ligne 14 à la fin de ton document
            j = 2

            For i = .Range("A" & .Rows.Count).End(xlUp).Row To 3 Step -1

            If .Range("I" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "1"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("I" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "1"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

             If .Range("J" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "2"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("J" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "2"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

             If .Range("K" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "3"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("K" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "3"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

             If .Range("L" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "4"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("L" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "4"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

             If .Range("M" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "5"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("M" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "1"
            Worksheets("Feuil4").Range("M" & j).Value = "5"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("N" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "1"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("N" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "1"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                      If .Range("O" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "2"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("O" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "2"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                   If .Range("P" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "3"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("P" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "3"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                      If .Range("Q" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "4"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("Q" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "4"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                   If .Range("R" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "5"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("R" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "2"
            Worksheets("Feuil4").Range("M" & j).Value = "5"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                   If .Range("S" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "1"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("S" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "1"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                      If .Range("T" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "2"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("T" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "2"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                      If .Range("U" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "3"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("U" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "3"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                      If .Range("V" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "4"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("V" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "4"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                        If .Range("W" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "5"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("W" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "3"
            Worksheets("Feuil4").Range("M" & j).Value = "5"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                        If .Range("X" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "1"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("X" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "1"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                   If .Range("Y" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "2"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("Y" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "2"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                        If .Range("Z" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "3"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("Z" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "3"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                        If .Range("AA" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "4"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("AA" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "4"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

                   If .Range("AB" & i).Value = "x" Then
            Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "5"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            If .Range("AB" & i).Value = "AF" Then
             Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
            Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
            Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
            Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
            Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
            Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
            Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
            Worksheets("Feuil4").Range("L" & j).Value = "4"
            Worksheets("Feuil4").Range("M" & j).Value = "5"
            Worksheets("Feuil4").Range("C" & j).Value = "I"
            j = j + 1
            End If

            Next i

End With

End Sub

Bon, je pense qu'il y a clairement moyen de l'améliorer en utilisant peut-etre une imbrication de boucles... mais cela depasse mes compétences.

Quelqu'un pourrait m'aider à optimiser ce code ?

Merci d'avance

Bonjour,

Teste ceci

Sub Ajout_ligne()
Dim i As Integer, j As Integer, col%

'Permet de ne pas voir la macro s'effectuer, elle affiche juste le résultat final
Application.ScreenUpdating = False

'la macro s'effectuera sur la feuille activée de ton fichier excel
    With ThisWorkbook.ActiveSheet

'Pour chaque ligne de ton fichier de la ligne 14 à la fin de ton document
          j = 2
      For col = 9 To 21
          For i = .Range("A" & .Rows.Count).End(xlUp).Row To 3 Step -1

            If .Cells(i, col).Value = "x" Then
              Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
              Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
              Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
              Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
              Range("D" & i).Copy Worksheets("Feuil4").Range("D" & j)
              Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
              Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
              Worksheets("Feuil4").Range("L" & j).Value = "1"
              Worksheets("Feuil4").Range("M" & j).Value = "1"
              Worksheets("Feuil4").Range("C" & j).Value = "I"
              j = j + 1
            ElseIf .Cells(i, col).Value = "AF" Then
               Range("A" & i).Copy Worksheets("Feuil4").Range("A" & j)
              Range("A" & i).Copy Worksheets("Feuil4").Range("B" & j)
              Range("B" & i).Copy Worksheets("Feuil4").Range("H" & j)
              Range("C" & i).Copy Worksheets("Feuil4").Range("I" & j)
              Range("E" & i).Copy Worksheets("Feuil4").Range("D" & j)
              Range("F" & i).Copy Worksheets("Feuil4").Range("J" & j)
              Range("G" & i).Copy Worksheets("Feuil4").Range("K" & j)
              Worksheets("Feuil4").Range("L" & j).Value = "1"
              Worksheets("Feuil4").Range("M" & j).Value = "1"
              Worksheets("Feuil4").Range("C" & j).Value = "I"
              j = j + 1
            End If
          Next i
        Next col
    End With
End Sub

Merci, je vois l'idée pour la boucle pour les colonnes. Par contre il va surement falloir que je modifie quelquechose car en fait en fonction de la colonne, il y a des petites différences dans le code ci-dessous. En effet, les colonnes ou je vais cherche "x" ou "AF" représentent les 20 jours ouvrables d'un mois et les deux lignes ci-dessous sont censés renvoyé la semaine et le jour (semaine 1 = 1 et lundi = 1, etc...)

Exemple:

Worksheets("Feuil4").Range("L" & j).Value = "1"
Worksheets("Feuil4").Range("M" & j).Value = "1"

Je peux peut-etre utiliser la même fonction, mais en faisant 4 blocs pour les semaines, mais je ne vois pas comment m'en sortir pour les jours...

Ah ! Ou alors en mettant des If en fonction de la valeur de la variable col ! Je vais essayer ca tiens :)

Rechercher des sujets similaires à "amelioration code"