Supprimer une feuille de mon classeur

Résolu
NLAH Messages postés 135 Statut Membre -  
 nihadlahit -
Bonjour,

Mon problme est le suivant:j'ai créer une macro qui effectue les fonctionnalités citées dans mon code,ci dessous:,mais j'arrive pas à supprime une feuille.


'demander à l'utilisateur de saisir le Numéro de Tlf

Dim obj As Object, myrecher As Range, v As Variant
With Worksheets("Feuil1").Range("A1:A100")
v = InputBox("saisir le numéro :")

'Rechercher cette valeur dans la colonne A de la feuille 1

Set obj = Sheets("Feuil1").Columns("A").Find(v, , , xlWhole, , xlPrevious)

'si ce numero existe,afficher un msg

If Not obj Is Nothing Then
MsgBox (" le num saisi existe deja")

Else

'sinon,rechercher dans le même classeur,et exactement dans la cellule A1 de chaque autre feuille,
'la valeur v(le numéro saisi),et une fois la macro trouve la feuille où se trouve la valeur v,
'je voudrais supprimer cette feuille

With ThisWorkbook
For Each sh In .Worksheets
With sh
Set myrecher = sh.Range("A1").Find(v)
If Not myrecher Is Nothing Then
sh.Select
Selection.Delete
End If
End With
Next
End With
End If
End With


pouvez vous m'aider à corriger mon code

cordialement,

1 réponse

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonsoir Nihadlahit, bonsoir le forum,

    Peut-être comme ça :

    Sub Macro1()
    Dim V As Variant
    Dim R As Range
    Dim O As Worksheet
    
    V = Application.InputBox("Saisir le numéro :", "Numéro", Type:=1)
    If V = False Then Exit Sub
    Set R = Sheets("Feuil1").Columns(1).Find(V, , xlValues, xlWhole)
    If Not R Is Nothing Then
        MsgBox ("Le numéro saisi existe déja !")
        Exit Sub
    End If
    For Each O In Worksheets
        If O.Range("A1").Value = V Then
            Application.DisplayAlerts = False
            O.Delete
            Application.DisplayAlerts = True
            Exit For
        End If
    Next O
    End Sub

    0
    1. nihadlahit
       
      Mercii ThauTheme, ça marche très bien

      cordialement,
      0