Suppression des nom dans une colonne

Re bonjour

Comment pratiquer pour faire une RAZ de noms dans colonne A et en même temps supprimer les feuilles

correspondantes à ces noms.

Je cherche par macro mais je trouve pas la solution

Cordialement

Bonjour

et en même temps supprimer les feuilles

correspondantes à ces noms.

Il faudrait savoir comment ces noms correspondent avec les noms des feuilles...

En expliquant ça avec un fichier joint peut-être ?

Bye !

Bonjour

Merci pour ton aide

Ci-dessous le code qui fait le travail

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

Dim c As Integer

Dim Ws As Worksheet

Dim Plage As Range

Dim Nom

Application.ScreenUpdating = False

If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then

If Target.Count > 1 Then Exit Sub

'Boucle sur les feuilles du classeur.

For Each Ws In ThisWorkbook.Worksheets

If Ws.Name = Target.Value Then 'même nom

MsgBox "Une feuille existe dèjà à ce nom!", vbExclamation, "Ajout feuille"

Exit Sub

End If

Next Ws

'---------------Copie modele en dernier--------------------

With Sheets("Modele")

.Select

.Range("D1") = Target.Value

.Copy After:=Sheets(Sheets.Count)

.Range("D1") = ""

End With

' renomme cette feuille avec le nom

Sheets(Sheets.Count).Name = Target.Value

'-----------------------------------------------

End If

Sheets("BDD").Activate

fin:

Application.ScreenUpdating = True

End Sub

Bonjour,

Peut-être comme ça (dans le module de la feuille avec les noms) :

Option Explicit
Sub RazEtSupprimeFeuille()
Dim wsh As Worksheet
Dim rng As Range
Dim cel As Range
  Set rng = Intersect(Me.UsedRange, Me.Columns(1))
  If Not rng Is Nothing Then
    For Each cel In rng.Cells
      On Error Resume Next
      Set wsh = Worksheets(cel.Text)
      On Error GoTo 0
      If Not wsh Is Nothing Then
        Application.DisplayAlerts = False
        wsh.Delete
        Application.DisplayAlerts = True
      End If
      Set wsh = Nothing
    Next cel
    rng.ClearContents
  End If
End Sub

Aprés essai

erreur de compilation sur le Me avant UsedRange

Set rng = Intersect(Me.UsedRange, Me.Columns(1))

Peut-être comme ça (dans le module de la feuille avec les noms) :

Re bonjour Patrice

Ci-dessous photo du bug

me

Avec le code dans le module de la feuille,ça supprime les feuilles mais pas les noms dans la colonneA

Tu as oublié le rng.ClearContents après le Next cel

Bonjour

me revoilà de retour avec un problème quand j'utilise la macro Razetsupprimefeuille

j'ai un rond rouge avec une croix blanche et 400

ou se trouve l'erreur sachant que les noms que je veux supprimer se trouvent en colonne A à partir de A3 la suppression des feuilles fonctionnent très bien.

Dans les codes suivants

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

Dim c As Integer

Dim Ws As Worksheet

Dim Plage As Range

Dim Nom

Application.ScreenUpdating = False

If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then

If Target.Count > 1 Then Exit Sub

'Boucle sur les feuilles du classeur.

For Each Ws In ThisWorkbook.Worksheets

If Ws.Name = Target.Value Then 'même nom

MsgBox "Une feuille existe dèjà à ce nom!", vbExclamation, "Ajout feuille"

Exit Sub

End If

Next Ws

'---------------Copie modele en dernier--------------------

With Sheets("Modele")

.Select

.Range("A1") = Target.Value

.Copy After:=Sheets(Sheets.Count)

.Range("A1") = ""

End With

' renomme cette feuille avec le nom

Sheets(Sheets.Count).Name = Target.Value

'-----------------------------------------------

End If

Sheets("BDD").Activate

fin:

Application.ScreenUpdating = True

End Sub

Sub RazEtSupprimeFeuille()

Dim wsh As Worksheet

Dim rng As Range

Dim cel As Range

Set rng = Intersect(Me.UsedRange, Me.Columns(1))

If Not rng Is Nothing Then

For Each cel In rng.Cells

On Error Resume Next

Set wsh = Worksheets(cel.Text)

On Error GoTo 0

If Not wsh Is Nothing Then

Application.DisplayAlerts = False

wsh.Delete

Application.DisplayAlerts = True

End If

Set wsh = Nothing

Next cel

rng.ClearContents

End If

End Sub

Problème résolu

Le problème venait du fait que la colonne B était vide.

Colonne B supprimée ça fonctionne normalement

Crdlt

Rechercher des sujets similaires à "suppression nom colonne"