Probleme de boucles

Le
sunburn
bonjour,
je ne maitrise pas bien les boucles.
je voudrais appliquer une opération pour un sélection de feuille, j'ai fais
ça mais ça ne fonctionne pas. (je veux supprimer des lignes sur chacun de mes
onglets "10, "20", .."90")
Merci de votre aide :

Sub EffaceSousCycle()
For Each F In Array("10,20,30,40,50,60,70,80,90")
'On Error Resume Next
Sheets(F).Activate
For I = Cells(Rows.Count, "a").End(1).Row To 2 Step -1
If Cells(I, 1) > 100000 And Cells(I, 1) < 99999999 Then
Rows(I).Delete
Next
Next
End Sub
-
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #20566311
Bonjour.
For Each F In Array("10", "20", "30", "40", "50", "60", "70", "80",
"90")
(Les noms de feuilles ne sont de type string).
Daniel

bonjour,
je ne maitrise pas bien les boucles.
je voudrais appliquer une opération pour un sélection de feuille, j'ai fais
ça mais ça ne fonctionne pas. (je veux supprimer des lignes sur chacun de mes
onglets "10, "20", .."90")
Merci de votre aide :
------------
Sub EffaceSousCycle()
For Each F In Array("10,20,30,40,50,60,70,80,90")
'On Error Resume Next
Sheets(F).Activate
For I = Cells(Rows.Count, "a").End(1).Row To 2 Step -1
If Cells(I, 1) > 100000 And Cells(I, 1) < 99999999 Then
Rows(I).Delete
Next
Next
End Sub
----------


Corona
Le #20566301
Bonjour,
Voici un exemple de lecture de feuilles d'un classeur dans lequel est
écrit le code VBA
Sub EffaceSousCycle()
Dim F As Worksheet
For Each F In ActiveWorkbook.Worksheets
Select Case F.Name
Case "10", "20", "30", "40", "50", "60", "70", "80", "90"
' Ici le code de destruction de lignes
' F.Cells( etc ...
End Select
Next
End Sub
Philippe Tulliez


sunburn a écrit :
bonjour,
je ne maitrise pas bien les boucles.
je voudrais appliquer une opération pour un sélection de feuille, j'ai fais
ça mais ça ne fonctionne pas. (je veux supprimer des lignes sur chacun de mes
onglets "10, "20", .."90")
Merci de votre aide :
------------
Sub EffaceSousCycle()
For Each F In Array("10,20,30,40,50,60,70,80,90")
'On Error Resume Next
Sheets(F).Activate
For I = Cells(Rows.Count, "a").End(1).Row To 2 Step -1
If Cells(I, 1) > 100000 And Cells(I, 1) < 99999999 Then
Rows(I).Delete
Next
Next
End Sub
----------


michdenis
Le #20566381
Bonjour Sunburn,

Essaie quelque chose comme ceci :

La procédure prend pour acquis que la première ligne
sert aux étiquettes des colonnes.

'-----------------------------------------
Sub EffaceSousCycle()

Dim Rg As Range
For Each F In Array(10, 20, 30, 40, 50, 60, 70, 80, 90)
With Sheets(CStr(F))
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.AutoFilter field:=1, Criteria1:=">" & 100000, _
Criteria2:="<" & 99999999
Set Rg = .Range("_FilterDataBase")
Rg.Offset(1).Resize(Rg.Rows.Count - 1).SpecialCells _
(xlCellTypeVisible).EntireRow.Delete
.AutoFilter
End With
End With
Next
End Sub
'-----------------------------------------



"sunburn" discussion :
bonjour,
je ne maitrise pas bien les boucles.
je voudrais appliquer une opération pour un sélection de feuille, j'ai fais
ça mais ça ne fonctionne pas. (je veux supprimer des lignes sur chacun de mes
onglets "10, "20", .."90")
Merci de votre aide :
------------
Sub EffaceSousCycle()
For Each F In Array("10,20,30,40,50,60,70,80,90")
'On Error Resume Next
Sheets(F).Activate
For I = Cells(Rows.Count, "a").End(1).Row To 2 Step -1
If Cells(I, 1) > 100000 And Cells(I, 1) < 99999999 Then
Rows(I).Delete
Next
Next
End Sub
----------
sunburn
Le #20566721
Bonsoir,
je vous remercie tous pour votre aide.
A l'usage, ta technique est la plus rapide.
merci.

YANN

"michdenis" wrote:

Bonjour Sunburn,

Essaie quelque chose comme ceci :

La procédure prend pour acquis que la première ligne
sert aux étiquettes des colonnes.

'-----------------------------------------
Sub EffaceSousCycle()

Dim Rg As Range
For Each F In Array(10, 20, 30, 40, 50, 60, 70, 80, 90)
With Sheets(CStr(F))
With .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.AutoFilter field:=1, Criteria1:=">" & 100000, _
Criteria2:="<" & 99999999
Set Rg = .Range("_FilterDataBase")
Rg.Offset(1).Resize(Rg.Rows.Count - 1).SpecialCells _
(xlCellTypeVisible).EntireRow.Delete
.AutoFilter
End With
End With
Next
End Sub
'-----------------------------------------



"sunburn" discussion :
bonjour,
je ne maitrise pas bien les boucles.
je voudrais appliquer une opération pour un sélection de feuille, j'ai fais
ça mais ça ne fonctionne pas. (je veux supprimer des lignes sur chacun de mes
onglets "10, "20", .."90")
Merci de votre aide :
------------
Sub EffaceSousCycle()
For Each F In Array("10,20,30,40,50,60,70,80,90")
'On Error Resume Next
Sheets(F).Activate
For I = Cells(Rows.Count, "a").End(1).Row To 2 Step -1
If Cells(I, 1) > 100000 And Cells(I, 1) < 99999999 Then
Rows(I).Delete
Next
Next
End Sub
----------



Publicité
Poster une réponse
Anonyme