Bonjour,

Voici on bout de code java qui utilise l'API POI APACHE :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
        // Si l'onglet existe le supprimer
        if (l_onglet != null) {
 
            // Recuperation du n° d'ordre de l'onglet, pour ensuite supprimer l'onglet
            l_numeroOrdreOnglet = e_classeur.getSheetIndex(l_onglet);
 
            ReferentielDesFlux.aJournal.info("Le n° d'ordre de l'onglet initial qui va être supprime est : " + l_numeroOrdreOnglet);
 
            e_classeur.removeSheetAt(l_numeroOrdreOnglet);
 
            ReferentielDesFlux.aJournal.info("L'onglet initial : " + e_nomDOnglet + " a ete supprime");
 
        }
 
        // Puis recreer l'onglet
        l_onglet = e_classeur.createSheet(e_nomDOnglet);
L'idée est de supprimer un onglet d'une feuille Excel pour pouvoir le recrée ensuite avec le même nom.
ça fonctionne très bien, mais malheureusement je me suis rendu compte qu'a chaque fois que ce bout de code est executé, l'onglet originel est supprimé en apparence, MAIS il reste un reliquat.

En effet lorsque j'ouvre le projet VBA du Fichier Excel cible j'ai :

Nom : 2021-10-12-ForumDeveloppezCom-01.png
Affichages : 115
Taille : 42,3 Ko

Il y a 3 feuilles : feuil1, feuil2 et feuil3 qui sont de feuilles du style ThisWorkBook, qui anciennement correspondant à TB_SyntheseFluxdescendant, TB_SyntheseFluxMontant et TB_SyntheseMoniteurDeFlux).

Le projet VBA du Fichier Excel Originel est :

Nom : 2021-10-12-ForumDeveloppezCom-02.png
Affichages : 100
Taille : 45,2 Ko

On voit bien ici que les feuilles "virtuelles" qui ressemble à ThisWorkBook n'existe pas.

Est ce que quelqu'un aurait une idée de la manière dont il faut que j'utilise l'opération : org.apache.poi.xssf.usermodel.XSSFWorkbook.removeSheetAt ?

Bien à vous.