Créer une feuille excel invisible en vba [Résolu]

Signaler
Messages postés
24
Date d'inscription
lundi 12 avril 2010
Statut
Membre
Dernière intervention
20 juillet 2011
-
Messages postés
24
Date d'inscription
lundi 12 avril 2010
Statut
Membre
Dernière intervention
20 juillet 2011
-
Bonjour,

j'ai besoin de créer une feuille excel dans un classeur et de la manipuler sans que cette feuille soit visible par l'utilisateur.

De plus lorsqu'on ouvre le classeur, si on a déjà lancé la macro, la feuille existera déjà donc je suppose que lorsque je vais de nouveau lancer la macro, Excel ne voudra pas avoir deux feuilles du même nom. Il faudrait donc trouver le moyen de savoir si elle existe déjà et si oui, je nettoie le contenu des cellules (ce que je sais faire), si non je la créer.

Caroline

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut
Comme il te faut rechercher si ta feuille existe déjà, utilise le code qu'on retrouve partout :
    Dim maNewFeuille As Worksheet
    For Each maNewFeuille In Worksheets
        If maNewFeuille.Name = "ma Feuille invisible" Then
            ' Existe déjà
            Exit For
        End If
    Next
Ensuite, si tu dois ajouter une feuille, suffit d'utiliser la même méthode que celle que tu découvriras en enregistrant une macro pendant que tu l'ajoutes à la main et de la retraivailler :
    If maNewFeuille Is Nothing Then
        ' On ne l'a pas trouvée
        Sheets.Add Type:=xlWorksheet
        Set maNewFeuille = ActiveSheet
        maNewFeuille.Name = "ma Feuille invisible"
        maNewFeuille.Visible = False
    End If
    maNewFeuille.Cells(1, 1).Value = "Coucou"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
24
Date d'inscription
lundi 12 avril 2010
Statut
Membre
Dernière intervention
20 juillet 2011

Nickel merci

Caroline