Supprimer une feuille a partir d'une combobox

arkancylla -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
bonjour,
je travaille sous vba et je souhaite pouvoir supprimer une feuille excel dont je choisis le nom dans une combobox. comment dois je faire?

7 réponses

  1. talokan Messages postés 7 Statut Membre
     
    hello voila une possibilité :

    Dim ws As Worksheet
    Set ws = Worksheets(string_Nom_de_la_feuille)
    ws.Delete
    0
  2. arkancylla
     
    merci pour ton aide
    mais comment je fais pour dire que le nom de la feuille c'est la valeur saisie dans le combobox?
    0
  3. talokan Messages postés 7 Statut Membre
     
    C'est une Combo box d'un userForm ? ou c'est une combo box sur la feuille excel ?
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. talokan Messages postés 7 Statut Membre
     
    Avec un user form (tous les objets ont leur nom par défaut) avec un bouton pour supprimer la feuille selectionnée :

    ' sur clique du bouton supprime la feuille selectionnée dans la Combo
    Private Sub CommandButton1_Click()
    Dim ws As Worksheet
    Set ws = Worksheets(ComboBox1.Value)
    ws.Delete
    End Sub

    'Lors du lancement du Userform rempli la combo
    Private Sub UserForm_Activate()
    Dim ws As Worksheet
    For Each ws In Worksheets
    ComboBox1.AddItem ws.Name
    Next ws
    End Sub
    0
  6. arkancylla
     
    ok mais vba genere une erreur et me dit "l'indice n'appartient pas a la selection". Cette erreur est générée a la ligne Set ws = Worksheets(ComboBox2.Value)
    0
    1. talokan Messages postés 7 Statut Membre
       
      Comment s'appel ta combobox ? Qu'est quelle à comme valeur ?
      (Peut-être peux tu me donner un petit bout de code ?)
      0
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      bonjour

      quand tu écrit :

      Set ws = Worksheets(ComboBox2.Value)

      ce n'est pas assez précis pour vba

      il faut rajouter:

      Set ws = Worksheets(Worksheets(mafeuille).ComboBox2.Value)

      0
  7. talokan Messages postés 7 Statut Membre
     
    Hello je dois partir malheureusement ....

    Quelques idées :

    Set ws = Worksheets( ici tu dois avoir le nom de la feuille )

    je ne sais pas quel est le contenu de ta combo box mais normalement si tu met le nom dans la valeur de la combo, alors
    ComboBox1.Value -> ramène le nom de la feuille.

    Sans cela c'est peut-être que tu ne travaille pas dans le bon classeur : tu peux positioner dans le classeur avec un

    Workbooks(nom_du_classeur).worksheets(...)
    A+ et bon courrage.
    0