Boucle sur une plage de données

Salut✋✋

Quelqu'un peut-il me donner un coup de pouce.

je veux un code qui va effectuer la même tâche dans plusieurs feuilles dont les nom de trouve dans la feuille ("ADMIN"). range(AY1:AY28)

Dans mon code ci dessous, il me revient de façon récurrente Erreur de compilation " la variable de contrôle for each doit être de type variant ou object.

Public Sub supprime()
Dim plageNoms As Range
Dim NomFeuille As Byte
Dim PremiereLigne As String, DerniereLigne As String
Set plageNoms = Worksheets("ADMIN").Range("AY1:AY28")
For Each NomFeuille In plageNoms
Sheets(NomFeuille.Value).Activate
If Not .DataBodyRange Is Nothing Then
.DataBodyRange.Rows(1 & ":" & .DataBodyRange.Rows.Count).Delete
End If
End With
Next NomFeuille
End Sub


Bonjour Some

Il faudrait peut-être aller voir ceci https://www.excel-pratique.com/fr/vba/variables

"PlageNoms" est un Range, alors que NomsFeuille est en Byte

A tester

Public Sub Supprime()
  Dim PlageNoms As Range
  Dim NomFeuille As Range
  ' Définir la plage des noms à traiter
  Set PlageNoms = Worksheets("ADMIN").Range("AY1:AY28")
  ' Pour chaque cellule de la plage
  For Each NomFeuille In PlageNoms
    ' Avec la feuille du nom à traiter
    With Sheets(NomFeuille.Name)
      '
      If Not .DataBodyRange Is Nothing Then
        .DataBodyRange.Rows(1 & ":" & .DataBodyRange.Rows.Count).Delete
      End If
    End With
  Next NomFeuille
End Sub

A+

bonjou M. BrunoM45.

le coup de pouce est parfait. Le code marche correctement.

bon, je continue la formation. Et je pense que ça ira. Souvent c'est simple mais ya l'embrouille.

merci bien

cordialement

Rechercher des sujets similaires à "boucle plage donnees"