public void Generer(System.Windows.Forms.ListView liste_actions)
        {
            string equiv_A1_nom; //Pour stocker l'équivalent au format "A1" de (ligne N°1, colonne N°1) sous forme de 2 entiers
            string equiv_A1_numero;
            string equiv_A1_poste;

            //Objet référençant le fichier Excel de la feuille de match
            fdm = new GestionExcel();

            //DECLARATIONS
            System.Drawing.Color rouge        = System.Drawing.Color.Red;  //Variable référençant la couleur rouge
            System.Drawing.Color bleu         = System.Drawing.Color.Blue; //Couleur bleue
            string[]             ligne_action = new string[2];             //Pour stocker Joueur, action


            //PARTIE LECTURE (conversion d'informations)
            fdm.OuvrirFichierExistant(chemin.fdm, "Feuil1"); //Ouverture de l'Excel contenant le template de feuille de match

            //Comptage des buts dans la liste des buts pour chaque équipe
            score_domicile  = Program.eq_domicile.buts.Count();
            score_exterieur = Program.eq_exterieur.buts.Count();

            //Liste des buteurs pour chaque équipe
            foreach (but goal in Program.eq_domicile.buts)
            {
                liste_buts_domicile += goal.joueur + "(" + goal.minute.ToString() + "e) \n"; //ex: John Terry (20e)
            }

            foreach (but goal in Program.eq_exterieur.buts)
            {
                liste_buts_exterieur += goal.joueur + "(" + goal.minute.ToString() + "e) \n";
            }

            //Liste des remplacements pour chaque équipe
            foreach (remplacement remplacement in Program.eq_domicile.remplacements)
            {
                liste_remp_domicile += remplacement.remplace + " pour " + remplacement.remplaçant + "\n";
            }

            foreach (remplacement remplacement in Program.eq_exterieur.remplacements)
            {
                liste_remp_exterieur += remplacement.remplace + " pour " + remplacement.remplaçant + "\n";
            }

            //PARTIE ECRITURE

            //1er volet de la feuille de match

            fdm.EcrireCellule(Program.eq_domicile.GetName(true), cellule_eq_domicile);
            fdm.EcrireCellule(Program.eq_exterieur.GetName(true), cellule_eq_exterieur);
            fdm.EcrireCellule(score_domicile.ToString(), cellule_score_domicile);
            fdm.EcrireCellule(score_exterieur, cellule_score_exterieur);
            fdm.EcrireCellule(date, cellule_date);
            fdm.EcrireCellule(liste_buts_domicile, cellule_buts_domicile);
            fdm.EcrireCellule(liste_buts_exterieur, cellule_buts_exterieur);
            fdm.EcrireCellule(liste_remp_domicile, cellule_remp_domicile);
            fdm.EcrireCellule(liste_remp_exterieur, cellule_remp_exterieur);
            fdm.EcrireCellule(championnat, cellule_championnat);
            fdm.EcrireCellule(stade, cellule_stade);
            fdm.EcrireCellule(arbitre_principal, cellule_arb_principal);
            fdm.EcrireCellule(arbitre_remplaçant, cellule_arb_remplaçant);
            fdm.EcrireCellule(arbitre_touche1, cellule_arb_touche1);
            fdm.EcrireCellule(arbitre_touche2, cellule_arb_touche2);
            fdm.EcrireCellule(Program.eq_domicile.GetEntraineur(), cellule_entraineur_domicile);
            fdm.EcrireCellule(Program.eq_exterieur.GetEntraineur(), cellule_entraineur_exterieur);

            //Logos
            string chemin_logo_domicile  = chemin.logos + Program.eq_domicile.GetName(false) + ".jpg";
            string chemin_logo_exterieur = chemin.logos + Program.eq_exterieur.GetName(false) + ".jpg";

            fdm.InsererImage(abs_logo_domicile, ord_logo_domicile, largeur_logos, hauteur_logos, chemin_logo_domicile);
            fdm.InsererImage(abs_logo_exterieur, ord_logo_exterieur, largeur_logos, hauteur_logos, chemin_logo_exterieur);

            //Titulaires
            //Domicile
            for (UInt16 i = 0; i < 11; i++)
            {
                equiv_A1_nom    = fdm.AdresseCellTypeA1(l_titulaires, c_eq1); //Equivalent au format "A1" des lignes colonnes référencées sous la forme (1,1)
                equiv_A1_numero = fdm.AdresseCellTypeA1(l_titulaires, c_eq1 + 1);
                equiv_A1_poste  = fdm.AdresseCellTypeA1(l_titulaires, c_eq1 + 2);
                fdm.EcrireCellule(Program.eq_domicile.titulaires[i].GetName(), equiv_A1_nom);
                fdm.EcrireCellule(Program.eq_domicile.titulaires[i].GetNumber(), equiv_A1_numero);
                fdm.EcrireCellule(Program.eq_domicile.titulaires[i].GetPoste(), equiv_A1_poste);
                l_titulaires++;
            }

            //Extérieur
            l_titulaires -= 11;
            for (UInt16 i = 0; i < 11; i++)
            {
                equiv_A1_nom    = fdm.AdresseCellTypeA1(l_titulaires, c_eq2);
                equiv_A1_numero = fdm.AdresseCellTypeA1(l_titulaires, c_eq2 + 1);
                equiv_A1_poste  = fdm.AdresseCellTypeA1(l_titulaires, c_eq2 + 2);
                fdm.EcrireCellule(Program.eq_exterieur.titulaires[i].GetName(), equiv_A1_nom);
                fdm.EcrireCellule(Program.eq_exterieur.titulaires[i].GetNumber(), equiv_A1_numero);
                fdm.EcrireCellule(Program.eq_exterieur.titulaires[i].GetPoste(), equiv_A1_poste);
                l_titulaires++;
            }

            //Dispositifs
            string chemin_disp_domicile  = chemin.images_dispositifs + Program.eq_domicile.GetDisp(false) + ".jpg";
            string chemin_disp_exterieur = chemin.images_dispositifs + Program.eq_exterieur.GetDisp(false) + ".jpg";

            fdm.InsererImage(abs_disp_domicile, ord_disp_domicile, largeur_disp, hauteur_disp, chemin_disp_domicile);
            fdm.InsererImage(abs_disp_exterieur, ord_disp_exterieur, largeur_disp, hauteur_disp, chemin_disp_exterieur);

            //Remplaçants
            //Domicile
            for (UInt16 i = 0; i < 7; i++)
            {
                equiv_A1_nom    = fdm.AdresseCellTypeA1(l_remplaçants, c_eq1);
                equiv_A1_numero = fdm.AdresseCellTypeA1(l_remplaçants, c_eq1 + 1);
                fdm.EcrireCellule(Program.eq_domicile.remplaçants[i].GetName(), equiv_A1_nom);
                fdm.EcrireCellule(Program.eq_domicile.remplaçants[i].GetNumber(), equiv_A1_numero);
                l_remplaçants++;
            }

            //Extérieur
            l_remplaçants -= 7;
            for (UInt16 i = 0; i < 7; i++)
            {
                equiv_A1_nom    = fdm.AdresseCellTypeA1(l_remplaçants, c_eq2);
                equiv_A1_numero = fdm.AdresseCellTypeA1(l_remplaçants, c_eq2 + 1);
                fdm.EcrireCellule(Program.eq_exterieur.remplaçants[i].GetName(), equiv_A1_nom);
                fdm.EcrireCellule(Program.eq_exterieur.remplaçants[i].GetNumber(), equiv_A1_numero);
                l_remplaçants++;
            }

            //Actions durant le match (2ème volet de la feuille de match)
            fdm.ChangerDeFeuilleActive("Feuil2");
            foreach (System.Windows.Forms.ListViewItem action in liste_actions.Items)
            {
                //Les actions commencent  dans l'Excel à la ligne spécifiée dans ligne_actions (attribut).
                ligne_action[0] = action.SubItems[0].Text + "'"; //Minute
                ligne_action[1] = PhraseAction(action);          //Phrase descriptive
                fdm.EcrireLigne(ligne_action, index_actions);    //Ecriture de la ligne complète minute + action
                fdm.SelectionRange(index_actions, 1, 1, 2);      //Sélection des 2 cellules pour changer leur mise en forme
                System.Drawing.Color couleur = action.ForeColor;
                if (couleur == bleu)                             //Coloration des cellules de chaque action pour différencier les 2 équipes
                {
                    fdm.MiseEnForme(ColorIndex.Azur, ColorIndex.Automatique);
                }
                if (couleur == rouge)
                {
                    fdm.MiseEnForme(ColorIndex.Rouge, ColorIndex.Automatique);
                }
                index_actions++;
            }

            //Affichage de l'Excel final sous l'application Excel elle-même
            // fdm.AfficherXL();  à décommenter pour afficher l'Excel de la feuille de match à la fin
        }
        public void Generer(System.Windows.Forms.ListView liste_actions)
        {
            string equiv_A1_nom; //Pour stocker l'équivalent au format "A1" de (ligne N°1, colonne N°1) sous forme de 2 entiers
            string equiv_A1_numero;

            //Objet référençant le fichier Excel de la feuille de match
            fdm = new GestionExcel();

            //DECLARATIONS
            System.Drawing.Color rouge        = System.Drawing.Color.Red;  //Variable référençant la couleur rouge
            System.Drawing.Color bleu         = System.Drawing.Color.Blue; //Couleur bleue
            string[]             ligne_action = new string[2];             //Pour stocker Joueur, action


            //PARTIE LECTURE (conversion d'informations)
            fdm.OuvrirFichierExistant(chemin.fdm, "Feuil1"); //Ouverture de l'Excel contenant le template de feuille de match

            //Comptage des buts dans la liste des buts pour chaque équipe
            score_domicile  = Program.eq_domicile.buts.Count();
            score_exterieur = Program.eq_exterieur.buts.Count();

            //Liste des buteurs pour chaque équipe
            foreach (but goal in Program.eq_domicile.buts)
            {
                liste_buts_domicile += goal.joueur + "( " + goal.minute.ToString() + "e) "; //ex: John Terry (20e)
            }

            foreach (but goal in Program.eq_exterieur.buts)
            {
                liste_buts_domicile += goal.joueur + "( " + goal.minute.ToString() + "e) ";
            }

            //Liste des remplacements pour chaque équipe
            foreach (remplacement remplacement in Program.eq_domicile.remplacements)
            {
                liste_remp_domicile += remplacement.remplace + " --> " + remplacement.remplaçant + "\n";
            }

            foreach (remplacement remplacement in Program.eq_exterieur.remplacements)
            {
                liste_remp_exterieur += remplacement.remplace + " --> " + remplacement.remplaçant + "\n";
            }

            //PARTIE ECRITURE

            //1er volet de la feuille de match
            fdm.EcrireCellule(Program.eq_domicile.GetName(), cellule_eq_domicile);
            fdm.EcrireCellule(Program.eq_exterieur.GetName(), cellule_eq_exterieur);
            fdm.EcrireCellule(score_domicile.ToString(), cellule_score_domicile);
            fdm.EcrireCellule(date, cellule_date);
            fdm.EcrireCellule(score_exterieur, cellule_score_exterieur);
            fdm.EcrireCellule(liste_buts_domicile, cellule_buts_domicile);
            fdm.EcrireCellule(liste_buts_exterieur, cellule_buts_exterieur);
            fdm.EcrireCellule(liste_remp_domicile, cellule_remp_domicile);
            fdm.EcrireCellule(liste_remp_exterieur, cellule_remp_exterieur);
            fdm.EcrireCellule(championnat, cellule_championnat);
            fdm.EcrireCellule(stade, cellule_stade);
            fdm.EcrireCellule(arbitre_principal, cellule_arb_principal);
            fdm.EcrireCellule(arbitre_remplaçant, cellule_arb_remplaçant);
            fdm.EcrireCellule(arbitre_touche1, cellule_arb_touche1);
            fdm.EcrireCellule(arbitre_touche2, cellule_arb_touche2);
            fdm.EcrireCellule(entraineur_domicile, cellule_entraineur_domicile);
            fdm.EcrireCellule(entraineur_exterieur, cellule_entraineur_exterieur);
            //Titulaires
            //Domicile
            for (UInt16 i = 0; i < 11; i++)
            {
                equiv_A1_nom    = fdm.AdresseCellTypeA1(l_titulaires, c_eq1); //Equivalent au format "A1" des lignes colonnes référencées sous la forme (1,1)
                equiv_A1_numero = fdm.AdresseCellTypeA1(l_titulaires, c_eq1 + 1);
                fdm.EcrireCellule(Program.eq_domicile.titulaires[i].GetName(), equiv_A1_nom);
                fdm.EcrireCellule(Program.eq_domicile.titulaires[i].GetNumber(), equiv_A1_numero);
                l_titulaires++;
            }

            //Extérieur
            l_titulaires -= 11;
            for (UInt16 i = 0; i < 11; i++)
            {
                equiv_A1_nom    = fdm.AdresseCellTypeA1(l_titulaires, c_eq2);
                equiv_A1_numero = fdm.AdresseCellTypeA1(l_titulaires, c_eq2 + 1);
                fdm.EcrireCellule(Program.eq_exterieur.titulaires[i].GetName(), equiv_A1_nom);
                fdm.EcrireCellule(Program.eq_exterieur.titulaires[i].GetNumber(), equiv_A1_numero);
                l_titulaires++;
            }

            //Remplaçants
            //Domicile
            for (UInt16 i = 0; i < 7; i++)
            {
                equiv_A1_nom    = fdm.AdresseCellTypeA1(l_remplaçants, c_eq1);
                equiv_A1_numero = fdm.AdresseCellTypeA1(l_remplaçants, c_eq1 + 1);
                fdm.EcrireCellule(Program.eq_domicile.remplaçants[i].GetName(), equiv_A1_nom);
                fdm.EcrireCellule(Program.eq_domicile.remplaçants[i].GetNumber(), equiv_A1_numero);
                l_remplaçants++;
            }

            //Extérieur
            l_remplaçants -= 7;
            for (UInt16 i = 0; i < 7; i++)
            {
                equiv_A1_nom    = fdm.AdresseCellTypeA1(l_remplaçants, c_eq2);
                equiv_A1_numero = fdm.AdresseCellTypeA1(l_remplaçants, c_eq1 + 1);
                fdm.EcrireCellule(Program.eq_exterieur.remplaçants[i].GetName(), equiv_A1_nom);
                fdm.EcrireCellule(Program.eq_exterieur.remplaçants[i].GetNumber(), equiv_A1_numero);
                l_remplaçants++;
            }

            //Actions durant le match
            fdm.ChangerDeFeuilleActive("Feuil2");
            foreach (System.Windows.Forms.ListViewItem action in liste_actions.Items)
            {
                //Les actions commencent  dans l'Excel à la ligne spécifiée dans ligne_actions (attribut).
                ligne_action[0] = action.Text + "ème";        //Minute
                ligne_action[1] = PhraseAction(action);       //Phrase descriptive
                fdm.EcrireLigne(ligne_action, index_actions); //Ecriture de la ligne complète minute + action
                fdm.SelectionRange(index_actions, 1, 1, 2);   //Sélection des 2 cellules pour changer leur mise en forme
                fdm.CouleurFondRange(action.ForeColor);       //Met le fond des cellules sélectionnées à la couleur du texte présent dans l'élément de la ListView des actions
                index_actions++;
            }

            //Affichage de l'Excel final sous l'application Excel elle-même
            fdm.AfficherXL();
        }