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 :

[E-07] Supression d'une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 91
    Par défaut [E-07] Supression d'une feuille
    Bonjour à tous

    Logiciel utilisé: excel 2007


    Je voudrais lorsque j'appui sur un bouton "annulé" dans une "Userform" qu'il supprime la feuille que je vien de copier.

    Est ce possible?

    Merci d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Bonjour à tous
    Bonjour chrnoe

    Ne sachant pas comment tu "copies" ta feuille, voici un exemple pour créer et supprimer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub ajoute_feuille()
        Sheets.Add
        ActiveSheet.Name = "nouvelle_feuille"
    End Sub
     
    Sub supprime_feuille()
        Sheets("nouvelle_feuille").Delete
    End Sub
    tu adaptes et tu nous dis
    Eric

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 91
    Par défaut re-Supression d'une feuille
    Bonjour,

    Exusez moi je n'ai pas été assez clair

    Voici le code de copie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private sub CommandButton3_Click()
    With Application.ThisWorkbook
    .sheets(feuil3").Copy, .sheets(.Sheets.Count)
    End With
    Userform1.Show
    End Sub
    ensuite ce que je voudrais c'est avoir un boutton "annulé" dans le UserForm qui supprimera la copie de la feuil3.

    Est ce possible?

    Merci encore

  4. #4
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Re

    D'après ce que j'ai pu voir, le code crée un fichier avec une copie de la "Feuil3". Est ce vraiment ce que tu veux faire ? ne serait-ce pas plutôt créer une copie de la "Feuil3" dans le classeur actif ? si oui, teste ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ajout() 'ajoute une feuille dans le classeur actif
    With ThisWorkbook.Sheets("Feuil3")
        .Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = "nouvelle_feuille"   'nomme la feuille nouvellement créée.
    End With
    End Sub
     
    Sub CommandButton4_Click()  'code du bouton 4
        Sheets("nouvelle_feuille").Delete   'supprime la feuille "nouvelle_feuille" dans le classeur actif
    End Sub
    Pour être certain de supprimer le bon objet, ..... je préfère le nommer d'où :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Name = "nouvelle_feuille"   'nomme la feuille nouvellement créée.
    A+
    Eric

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si sur votre Userform vous avez créé un bouton "Commandbutton4" (par exemple) mais il vaudrait mieux le renommer, toujours par exemple "Cmd_supfeuil" vous pouvez utiliser dans le code de ce Userform :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Cmd_supfeuil_Click()
    Application.DisplayAlerts = False
    With Application.ThisWorkbook
    .Sheets(.Sheets.Count).Delete
    End With
    Application.DisplayAlerts = True
    End Sub
    Il vaudrait mieux prévoir que ce bouton ne soit pas accessible tant que vous n'avez pas cliqué sur "CommandButton3" par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub Userform1_Initialize()
    Cmd_supfeuil.Visible = false
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub Userform1_Initialize()
    Cmd_supfeuil.Enabled = false
    et ensuite dans la procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private sub CommandButton3_Click()
    Cmd_supfeuil.Visible = True
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private sub CommandButton3_Click()
    Cmd_supfeuil.Enabled = True

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut
    Salut
    tu peux aussi rajouter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub CommandButton4_Click()  'code du bouton 4
     
    Application.DisplayAlerts = False    
     
    Sheets("nouvelle_feuille").Delete   
     
    Application.DisplayAlerts = True
     
    End Sub
    Ce la évite le message d'excel de confirmation de suppression de ta feuille

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour Herod1983,

    C'est ce que j'ai déjà indiqué dans ma réponse, sauf que j'en ai profité pour dire quà mon avis, il est plus clair de donner des noms "parlants" aux objets plutôt que de conserver les noms par défaut, et j'ai donc mis "Cmd_supfeuil" à titre d'exemple au lieu de "CommandButton4".

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Par défaut
    Salut jacques_jean

    Désolé

    J'ai remarqué ma co.... seulement après, oui renommer les objets ole est assez intéressant. A part si on veut faire une boucle sur chaque numéro des objets et ainsi affiner son tri, parenthèses à part, chacun fait son code à sa manière, c'est cela je pense qui fait l'originalité de chaque programme.

    Désolé encore
    a+

Discussions similaires

  1. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 17h52
  2. [VB6] [Interface] Nbre de contrôles maxi dans une feuille
    Par Midou dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 13/10/2002, 16h09
  3. [VB6] [Excel] Insérer une image dans une feuille
    Par mathias dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 09/10/2002, 07h44
  4. Rattacher une feuille de style a un XML existant
    Par aour dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 08/10/2002, 22h07
  5. [VB6] [Form] Interdire le déplacement d'une feuille
    Par Loïc dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 23/09/2002, 15h02

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