IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Suppression de feuilles


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 69
    Par défaut Suppression de feuilles
    Bonjour,

    Dans un fichier, Feuil1 est ma feuille de base servant à divers utilisateurs de créer de nouvelles feuilles.

    Est-il possible qu’au cas où n’importe qu’elle autre feuille est supprimée, ce soit Feuil1 qui soit sélectionnée automatiquement ? Par exemple, si je supprime la 12ème feuille, je ne voudrais pas que ce soit la 13ème feuille qui soit sélectionnée, mais Feui1.

    J'ai cherché une macro événementielle qui correspondrait à quelque chose du genre "SheetDelete", mais n'ai rien trouvé de semblable.

    A vous relire

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une proposition
    Dans le module ThisWorkbook
    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
    Dim nbFeuil As Integer
     
    Private Sub Workbook_Open()
    nbFeuil = Sheets.Count
    End Sub
     
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sheets.Count < nbFeuil Then
        Sheets(1).Activate
        nbFeuil = Sheets.Count
    End If
    End Sub
     
    Private Sub Workbook_NewSheet(ByVal Sh As Object)
    nbFeuil = Sheets.Count
    End Sub

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 324
    Par défaut
    Oups grillé...
    Autre proposition sinon. Code à mettre dans le module ThisWorkbook

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    'Variable globale à mettre en début de code
    Dim nomAncienneFeuille As String
     
    'Normalement en supprimant la feuille on active d'abord cet évènement
    Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
     
    'On récupère le nom de la feuille qui n'est plus sélectionnée
    nomAncienneFeuille = Sh.Name
     
    End Sub
     
     
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
     
    Dim feuille As Worksheet
     
    'On parcours les feuille du classeur. Si la feuille qui n'est plus sélectionnée existe toujours alors on ne fait rien
    For Each feuille In ThisWorkbook.Worksheets
        If (feuille.Name = nomAncienneFeuille) Then Exit Sub
    Next
     
    'Si le nom de la feuille n'apparait plus, alors le code se poursuivra et on sélectionnera la feuille 1
    Feuil1.Select
     
    End Sub

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 69
    Par défaut
    Bonjour à tous,

    Un grand merci à Mercatog et à Psychopathe : vos deux solutions fonctionnent identiquement parfaitement

    Une bonne journée à tous.

    Yvouille

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème lors de la suppression de feuilles
    Par Ploucouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/02/2008, 12h59
  2. Suppression de feuille
    Par Eric93 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2007, 11h50
  3. Debutant: Suppression de feuille
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/12/2007, 17h40
  4. [VBA-E]: Suppression de feuilles après création
    Par michel2662 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/04/2007, 16h36
  5. Suppression de feuilles d'un classeur excel
    Par euskadi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2006, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo