Supprimer une feuille de mon classeur

Résolu
NLAH Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   -  
 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,


A voir également:

1 réponse

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   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
nihadlahit
 
Mercii ThauTheme, ça marche très bien

cordialement,
0