OVH Cloud OVH Cloud

Encore une erreur 'On Error Goto...'

6 réponses
Avatar
Myriam
Bonjour à toutes et tous !!

J'ai beau parcourir les solutions proposé dans d'autres posts, cela ne
fonctionne pas !!
J'ai réalisé cette macro pour 'nettoyer' toutes les feuilles de classeurs
récupérés d'un autre système (Unix)
Les traits horizontaux sont réalisés avec des '-------' et je veux supprimer
toutes ces lignes...

Hélas j'ai systématiquement une erreur lors du 2ème passage par 'On Error
GoTo Fin'
D'autres ont eu ce problème, d'ou mon ajout des 'On Error GoTo 0' et 'Err =
0' !! Mais rien n'y fait !!

Ma macro :
### Sub menage()
### For Each f In Sheets
### Sheets(f.Name).Select
### Boucle1:
### On Error GoTo 0
### Err = 0
### On Error GoTo Fin
### Cells.Find(What:="-----", After:=ActiveCell, LookIn:=xlFormulas,
LookAt _
### :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
### False).Activate
### Selection.EntireRow.Delete
### GoTo Boucle1
### Fin:
### On Error GoTo 0
### Err = 0
### Next
### End Sub

Merci de votre aide !!
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M Virgule.la.bande.a.Basil@Netcourrier.com

6 réponses

Avatar
twinley
Bonjour,

Je ne suis pas arrivé à faire tourner la sub menage() et je me suis
promis de mettre les mains dedans. Mais je ne l'ai pas encore fait.
Puis je suggérer sa soeur, ci dessous.
Tiens compte des lignes trop longue dans l'éditeur si tu as des lignes
en rouge. Il faut prolonger le retour à la ligne par espace et
underscore : blabla _


Sub Nettoie()
'Laurent Longre mpfe, mise en forme GeeDee
Dim Sht As Worksheet, DCell As Range, Calc As Long, Rien As String,
Avant As Double, plage As Range
On Error Resume Next
Calc = Application.Calculation ' ---- mémorisation de l'état de
recalcul
'------------------------------------------------------------
MsgBox "Pour le classeur actif : " _
& Chr(10) & ActiveWorkbook.FullName _
& Chr(10) & "dans chaque feuille de calcul" _
& Chr(10) & "recherche la zone contenant des données," _
& Chr(10) & "réinitialise la dernière cellule utilisée" _
& Chr(10) & "et optimise la taille du fichier Excel", _
vbInformation, _
"d'après LL par "
'-------------------------------------------------------------
MsgBox "Taille initiale de ce classeur en octets" _
& Chr(10) & FileLen(ActiveWorkbook.FullName), _
vbInformation, ActiveWorkbook.FullName
'------------------------------------------------------------
With Application
.Calculation = xlCalculationManual
.StatusBar = "Nettoyage en cours..."
.EnableCancelKey = xlErrorHandler
.ScreenUpdating = True
End With
'-------------------- le traitement
For Each Sht In Worksheets
Avant = Sht.UsedRange.Cells.Count
Application.StatusBar = Sht.Name & "-" & Sht.UsedRange.Address
'-------------------Traitement de la zone trouvée
If Sht.UsedRange.Address <> "$A$1" Or Not IsEmpty(Sht.[A1]) Then
Set DCell = Sht.Cells.Find("*", , , , xlByRows, xlPrevious)(2)
'----------------Suppression des lignes inutilisées
If Not DCell Is Nothing Then
Sht.Range(DCell, Sht.Cells([A:A].Count,
1)).EntireRow.Delete
Set DCell = Nothing
Set DCell = Sht.Cells.Find("*", , , , xlByColumns,
xlPrevious)(, 2)
'----------------Suppression des colonnes inutilisées
If Not DCell Is Nothing Then Sht.Range(DCell,
Sht.[IV1]).EntireColumn.Delete
End If
Rien = Sht.UsedRange.Address
End If
ActiveWorkbook.Save
'---------------------Message pour la feuille traitée
MsgBox "Nom de la feuille de calcul :" _
& Chr(10) & Sht.Name _
& Chr(10) & Format(Sht.UsedRange.Cells.Count / Avant,
"0.00%") & " de la taille initiale", _
vbInformation, ActiveWorkbook.FullName
Next Sht
'--------------------Message fin de traitement
MsgBox "Taille optimisée de ce classeur en octets " & Chr(10) &
FileLen(ActiveWorkbook.FullName), _
vbInformation, _
ActiveWorkbook.FullNameActive
'--------------------
Application.StatusBar = False
Application.Calculation = Calc
End Sub

à+twinley

Myriam wrote:
Bonjour à toutes et tous !!

J'ai beau parcourir les solutions proposé dans d'autres posts, cela ne
fonctionne pas !!
J'ai réalisé cette macro pour 'nettoyer' toutes les feuilles de classeurs
récupérés d'un autre système (Unix)
Les traits horizontaux sont réalisés avec des '-------' et je veux supprimer
toutes ces lignes...

Hélas j'ai systématiquement une erreur lors du 2ème passage par 'On Error
GoTo Fin'
D'autres ont eu ce problème, d'ou mon ajout des 'On Error GoTo 0' et 'Err > 0' !! Mais rien n'y fait !!

Ma macro :
### Sub menage()
### For Each f In Sheets
### Sheets(f.Name).Select
### Boucle1:
### On Error GoTo 0
### Err = 0
### On Error GoTo Fin
### Cells.Find(What:="-----", After:¬tiveCell, LookIn:=xlFormulas,
LookAt _
### :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
### False).Activate
### Selection.EntireRow.Delete
### GoTo Boucle1
### Fin:
### On Error GoTo 0
### Err = 0
### Next
### End Sub

Merci de votre aide !!
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M





Avatar
Myriam
Bonjour !
Merci pour la 'Grande' soeur ! (pfff ! que de lignes....)
Je vais essayer de m'en sortir.... Mais la mienne est plus courte ! Na !
M.M
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M
"twinley" a écrit dans le message de news:

Bonjour,

Je ne suis pas arrivé à faire tourner la sub menage() et je me suis
promis de mettre les mains dedans. Mais je ne l'ai pas encore fait.
Puis je suggérer sa soeur, ci dessous.
Tiens compte des lignes trop longue dans l'éditeur si tu as des lignes
en rouge. Il faut prolonger le retour à la ligne par espace et
underscore : blabla _


Sub Nettoie()
'Laurent Longre mpfe, mise en forme GeeDee
Dim Sht As Worksheet, DCell As Range, Calc As Long, Rien As String,
Avant As Double, plage As Range
On Error Resume Next
Calc = Application.Calculation ' ---- mémorisation de l'état de
recalcul
'------------------------------------------------------------
MsgBox "Pour le classeur actif : " _
& Chr(10) & ActiveWorkbook.FullName _
& Chr(10) & "dans chaque feuille de calcul" _
& Chr(10) & "recherche la zone contenant des données," _
& Chr(10) & "réinitialise la dernière cellule utilisée" _
& Chr(10) & "et optimise la taille du fichier Excel", _
vbInformation, _
"d'après LL par "
'-------------------------------------------------------------
MsgBox "Taille initiale de ce classeur en octets" _
& Chr(10) & FileLen(ActiveWorkbook.FullName), _
vbInformation, ActiveWorkbook.FullName
'------------------------------------------------------------
With Application
.Calculation = xlCalculationManual
.StatusBar = "Nettoyage en cours..."
.EnableCancelKey = xlErrorHandler
.ScreenUpdating = True
End With
'-------------------- le traitement
For Each Sht In Worksheets
Avant = Sht.UsedRange.Cells.Count
Application.StatusBar = Sht.Name & "-" & Sht.UsedRange.Address
'-------------------Traitement de la zone trouvée
If Sht.UsedRange.Address <> "$A$1" Or Not IsEmpty(Sht.[A1]) Then
Set DCell = Sht.Cells.Find("*", , , , xlByRows,
xlPrevious)(2)

'----------------Suppression des lignes inutilisées
If Not DCell Is Nothing Then
Sht.Range(DCell, Sht.Cells([A:A].Count,
1)).EntireRow.Delete
Set DCell = Nothing
Set DCell = Sht.Cells.Find("*", , , , xlByColumns,
xlPrevious)(, 2)
'----------------Suppression des colonnes inutilisées
If Not DCell Is Nothing Then Sht.Range(DCell,
Sht.[IV1]).EntireColumn.Delete
End If
Rien = Sht.UsedRange.Address
End If
ActiveWorkbook.Save
'---------------------Message pour la feuille traitée
MsgBox "Nom de la feuille de calcul :" _
& Chr(10) & Sht.Name _
& Chr(10) & Format(Sht.UsedRange.Cells.Count / Avant,
"0.00%") & " de la taille initiale", _
vbInformation, ActiveWorkbook.FullName
Next Sht
'--------------------Message fin de traitement
MsgBox "Taille optimisée de ce classeur en octets " & Chr(10) &
FileLen(ActiveWorkbook.FullName), _
vbInformation, _
ActiveWorkbook.FullNameActive
'--------------------
Application.StatusBar = False
Application.Calculation = Calc
End Sub

à+twinley

Myriam wrote:
Bonjour à toutes et tous !!

J'ai beau parcourir les solutions proposé dans d'autres posts, cela ne
fonctionne pas !!
J'ai réalisé cette macro pour 'nettoyer' toutes les feuilles de
classeurs


récupérés d'un autre système (Unix)
Les traits horizontaux sont réalisés avec des '-------' et je veux
supprimer


toutes ces lignes...

Hélas j'ai systématiquement une erreur lors du 2ème passage par 'On
Error


GoTo Fin'
D'autres ont eu ce problème, d'ou mon ajout des 'On Error GoTo 0' et
'Err > > 0' !! Mais rien n'y fait !!



Ma macro :
### Sub menage()
### For Each f In Sheets
### Sheets(f.Name).Select
### Boucle1:
### On Error GoTo 0
### Err = 0
### On Error GoTo Fin
### Cells.Find(What:="-----", After:¬tiveCell, LookIn:=xlFormulas,
LookAt _
### :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
### False).Activate
### Selection.EntireRow.Delete
### GoTo Boucle1
### Fin:
### On Error GoTo 0
### Err = 0
### Next
### End Sub

Merci de votre aide !!
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M







Avatar
Myriam
Re-Bonjour !
La macro Nettoie() ne fonctionne pas !!
On me signale un End If manquant (voir un If en trop !!)
Grrrrrr...
M.M
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M
"twinley" a écrit dans le message de news:

Bonjour,

Je ne suis pas arrivé à faire tourner la sub menage() et je me suis
promis de mettre les mains dedans. Mais je ne l'ai pas encore fait.
Puis je suggérer sa soeur, ci dessous.
Tiens compte des lignes trop longue dans l'éditeur si tu as des lignes
en rouge. Il faut prolonger le retour à la ligne par espace et
underscore : blabla _


Sub Nettoie()
'Laurent Longre mpfe, mise en forme GeeDee
Dim Sht As Worksheet, DCell As Range, Calc As Long, Rien As String,
Avant As Double, plage As Range
On Error Resume Next
Calc = Application.Calculation ' ---- mémorisation de l'état de
recalcul
'------------------------------------------------------------
MsgBox "Pour le classeur actif : " _
& Chr(10) & ActiveWorkbook.FullName _
& Chr(10) & "dans chaque feuille de calcul" _
& Chr(10) & "recherche la zone contenant des données," _
& Chr(10) & "réinitialise la dernière cellule utilisée" _
& Chr(10) & "et optimise la taille du fichier Excel", _
vbInformation, _
"d'après LL par "
'-------------------------------------------------------------
MsgBox "Taille initiale de ce classeur en octets" _
& Chr(10) & FileLen(ActiveWorkbook.FullName), _
vbInformation, ActiveWorkbook.FullName
'------------------------------------------------------------
With Application
.Calculation = xlCalculationManual
.StatusBar = "Nettoyage en cours..."
.EnableCancelKey = xlErrorHandler
.ScreenUpdating = True
End With
'-------------------- le traitement
For Each Sht In Worksheets
Avant = Sht.UsedRange.Cells.Count
Application.StatusBar = Sht.Name & "-" & Sht.UsedRange.Address
'-------------------Traitement de la zone trouvée
If Sht.UsedRange.Address <> "$A$1" Or Not IsEmpty(Sht.[A1]) Then
Set DCell = Sht.Cells.Find("*", , , , xlByRows,
xlPrevious)(2)

'----------------Suppression des lignes inutilisées
If Not DCell Is Nothing Then
Sht.Range(DCell, Sht.Cells([A:A].Count,
1)).EntireRow.Delete
Set DCell = Nothing
Set DCell = Sht.Cells.Find("*", , , , xlByColumns,
xlPrevious)(, 2)
'----------------Suppression des colonnes inutilisées
If Not DCell Is Nothing Then Sht.Range(DCell,
Sht.[IV1]).EntireColumn.Delete
End If
Rien = Sht.UsedRange.Address
End If
ActiveWorkbook.Save
'---------------------Message pour la feuille traitée
MsgBox "Nom de la feuille de calcul :" _
& Chr(10) & Sht.Name _
& Chr(10) & Format(Sht.UsedRange.Cells.Count / Avant,
"0.00%") & " de la taille initiale", _
vbInformation, ActiveWorkbook.FullName
Next Sht
'--------------------Message fin de traitement
MsgBox "Taille optimisée de ce classeur en octets " & Chr(10) &
FileLen(ActiveWorkbook.FullName), _
vbInformation, _
ActiveWorkbook.FullNameActive
'--------------------
Application.StatusBar = False
Application.Calculation = Calc
End Sub

à+twinley

Myriam wrote:
Bonjour à toutes et tous !!

J'ai beau parcourir les solutions proposé dans d'autres posts, cela ne
fonctionne pas !!
J'ai réalisé cette macro pour 'nettoyer' toutes les feuilles de
classeurs


récupérés d'un autre système (Unix)
Les traits horizontaux sont réalisés avec des '-------' et je veux
supprimer


toutes ces lignes...

Hélas j'ai systématiquement une erreur lors du 2ème passage par 'On
Error


GoTo Fin'
D'autres ont eu ce problème, d'ou mon ajout des 'On Error GoTo 0' et
'Err > > 0' !! Mais rien n'y fait !!



Ma macro :
### Sub menage()
### For Each f In Sheets
### Sheets(f.Name).Select
### Boucle1:
### On Error GoTo 0
### Err = 0
### On Error GoTo Fin
### Cells.Find(What:="-----", After:¬tiveCell, LookIn:=xlFormulas,
LookAt _
### :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
### False).Activate
### Selection.EntireRow.Delete
### GoTo Boucle1
### Fin:
### On Error GoTo 0
### Err = 0
### Next
### End Sub

Merci de votre aide !!
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M







Avatar
Hervé
Salut Myriam,

Avec la méthode Find, la suppression de ligne est difficile sans erreur, le
plus simple est de marquer les lignes à supprimer (ici en rouge) et les
virer après recherche. Regarde si cela te convient :

Sub menage()
Dim F As Worksheet
Dim Plage As Range
Dim Cel As Range
Dim Adr As String
Dim I As Integer

For Each F In Worksheets
'défini la plage de recherche, si la feuille est vide, passe
'à la suivante
On Error GoTo suivante
With F
Set Plage = .Range(.Cells(1, 1), _
.Cells(.Cells.Find("*", .[A1], -4123, , 1, 2).Row, _
.Cells.Find("*", .[A1], -4123, , 2, 2).Column))
End With
'effectue la recherche et si trouve, colore la ligne
'entière en rouge
Set Cel = Plage.Find("-----", _
Plage(Plage.Cells.Count), _
xlValues, _
xlPart, _
xlByRows)
If Not Cel Is Nothing Then
Adr = Cel.Address
Do
Cel.EntireRow.Interior.ColorIndex = 3
Set Cel = Plage.FindNext(Cel)
Loop While Cel.Address <> Adr
End If
'si au moins une cellule à été trouvée, recherche les lignes
'en rouge et les supprime
If Adr <> "" Then
For I = Plage.Rows.Count To 1 Step -1
If Plage(I, 1).EntireRow.Interior.ColorIndex = 3 Then _
Plage(I, 1).EntireRow.Delete
Next I
End If
suivante:
Next F

Set Cel = Nothing
Set Plage = Nothing
Set F = Nothing
End Sub

Hervé.

"Myriam" a écrit dans le message
de news: uoU9#
Bonjour à toutes et tous !!

J'ai beau parcourir les solutions proposé dans d'autres posts, cela ne
fonctionne pas !!
J'ai réalisé cette macro pour 'nettoyer' toutes les feuilles de classeurs
récupérés d'un autre système (Unix)
Les traits horizontaux sont réalisés avec des '-------' et je veux
supprimer

toutes ces lignes...

Hélas j'ai systématiquement une erreur lors du 2ème passage par 'On Error
GoTo Fin'
D'autres ont eu ce problème, d'ou mon ajout des 'On Error GoTo 0' et 'Err
0' !! Mais rien n'y fait !!

Ma macro :
### Sub menage()
### For Each f In Sheets
### Sheets(f.Name).Select
### Boucle1:
### On Error GoTo 0
### Err = 0
### On Error GoTo Fin
### Cells.Find(What:="-----", After:¬tiveCell, LookIn:=xlFormulas,
LookAt _
### :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
### False).Activate
### Selection.EntireRow.Delete
### GoTo Boucle1
### Fin:
### On Error GoTo 0
### Err = 0
### Next
### End Sub

Merci de votre aide !!
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M





Avatar
twinley
Bonjour

La sub nettoie()tourne comme une horloge suisse.
Vérifie que tu n'as pas de ligne rouge dans l'éditeur, si oui cela
signifie que tu as une ligne de code qui est sur deux lignes.
Il faut alors ajouter un tiret souligné à la fin. Si la compile est
bonne, ça passe.
Tu peux la reprendre ici :

http://www.excelabo.net/xl/plantages.php#fichierobèse

Est ce que les lignes sont en noir dans la sub nettoie après compilation ?

Courage, fuyons

à+twinley


Myriam wrote:
Re-Bonjour !
La macro Nettoie() ne fonctionne pas !!
On me signale un End If manquant (voir un If en trop !!)
Grrrrrr...
M.M
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M
"twinley" a écrit dans le message de news:


Bonjour,

Je ne suis pas arrivé à faire tourner la sub menage() et je me suis
promis de mettre les mains dedans. Mais je ne l'ai pas encore fait.
Puis je suggérer sa soeur, ci dessous.
Tiens compte des lignes trop longue dans l'éditeur si tu as des lignes
en rouge. Il faut prolonger le retour à la ligne par espace et
underscore : blabla _


Sub Nettoie()
'Laurent Longre mpfe, mise en forme GeeDee
Dim Sht As Worksheet, DCell As Range, Calc As Long, Rien As String,
Avant As Double, plage As Range
On Error Resume Next
Calc = Application.Calculation ' ---- mémorisation de l'état de
recalcul
'------------------------------------------------------------
MsgBox "Pour le classeur actif : " _
& Chr(10) & ActiveWorkbook.FullName _
& Chr(10) & "dans chaque feuille de calcul" _
& Chr(10) & "recherche la zone contenant des données," _
& Chr(10) & "réinitialise la dernière cellule utilisée" _
& Chr(10) & "et optimise la taille du fichier Excel", _
vbInformation, _
"d'après LL par "
'-------------------------------------------------------------
MsgBox "Taille initiale de ce classeur en octets" _
& Chr(10) & FileLen(ActiveWorkbook.FullName), _
vbInformation, ActiveWorkbook.FullName
'------------------------------------------------------------
With Application
.Calculation = xlCalculationManual
.StatusBar = "Nettoyage en cours..."
.EnableCancelKey = xlErrorHandler
.ScreenUpdating = True
End With
'-------------------- le traitement
For Each Sht In Worksheets
Avant = Sht.UsedRange.Cells.Count
Application.StatusBar = Sht.Name & "-" & Sht.UsedRange.Address
'-------------------Traitement de la zone trouvée
If Sht.UsedRange.Address <> "$A$1" Or Not IsEmpty(Sht.[A1]) Then
Set DCell = Sht.Cells.Find("*", , , , xlByRows,


xlPrevious)(2)

'----------------Suppression des lignes inutilisées
If Not DCell Is Nothing Then
Sht.Range(DCell, Sht.Cells([A:A].Count,
1)).EntireRow.Delete
Set DCell = Nothing
Set DCell = Sht.Cells.Find("*", , , , xlByColumns,
xlPrevious)(, 2)
'----------------Suppression des colonnes inutilisées
If Not DCell Is Nothing Then Sht.Range(DCell,
Sht.[IV1]).EntireColumn.Delete
End If
Rien = Sht.UsedRange.Address
End If
ActiveWorkbook.Save
'---------------------Message pour la feuille traitée
MsgBox "Nom de la feuille de calcul :" _
& Chr(10) & Sht.Name _
& Chr(10) & Format(Sht.UsedRange.Cells.Count / Avant,
"0.00%") & " de la taille initiale", _
vbInformation, ActiveWorkbook.FullName
Next Sht
'--------------------Message fin de traitement
MsgBox "Taille optimisée de ce classeur en octets " & Chr(10) &
FileLen(ActiveWorkbook.FullName), _
vbInformation, _
ActiveWorkbook.FullNameActive
'--------------------
Application.StatusBar = False
Application.Calculation = Calc
End Sub

à+twinley

Myriam wrote:

Bonjour à toutes et tous !!

J'ai beau parcourir les solutions proposé dans d'autres posts, cela ne
fonctionne pas !!
J'ai réalisé cette macro pour 'nettoyer' toutes les feuilles de



classeurs

récupérés d'un autre système (Unix)
Les traits horizontaux sont réalisés avec des '-------' et je veux



supprimer

toutes ces lignes...

Hélas j'ai systématiquement une erreur lors du 2ème passage par 'On



Error

GoTo Fin'
D'autres ont eu ce problème, d'ou mon ajout des 'On Error GoTo 0' et



'Err >
0' !! Mais rien n'y fait !!

Ma macro :
### Sub menage()
### For Each f In Sheets
### Sheets(f.Name).Select
### Boucle1:
### On Error GoTo 0
### Err = 0
### On Error GoTo Fin
### Cells.Find(What:="-----", After:¬tiveCell, LookIn:=xlFormulas,
LookAt _
### :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
### False).Activate
### Selection.EntireRow.Delete
### GoTo Boucle1
### Fin:
### On Error GoTo 0
### Err = 0
### Next
### End Sub

Merci de votre aide !!
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M












Avatar
Myriam
Merci à vous !!
Je vais tester....
M.M
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M
"Myriam" a écrit dans le message
de news: uoU9#
Bonjour à toutes et tous !!

J'ai beau parcourir les solutions proposé dans d'autres posts, cela ne
fonctionne pas !!
J'ai réalisé cette macro pour 'nettoyer' toutes les feuilles de classeurs
récupérés d'un autre système (Unix)
Les traits horizontaux sont réalisés avec des '-------' et je veux
supprimer

toutes ces lignes...

Hélas j'ai systématiquement une erreur lors du 2ème passage par 'On Error
GoTo Fin'
D'autres ont eu ce problème, d'ou mon ajout des 'On Error GoTo 0' et 'Err
0' !! Mais rien n'y fait !!

Ma macro :
### Sub menage()
### For Each f In Sheets
### Sheets(f.Name).Select
### Boucle1:
### On Error GoTo 0
### Err = 0
### On Error GoTo Fin
### Cells.Find(What:="-----", After:¬tiveCell, LookIn:=xlFormulas,
LookAt _
### :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
### False).Activate
### Selection.EntireRow.Delete
### GoTo Boucle1
### Fin:
### On Error GoTo 0
### Err = 0
### Next
### End Sub

Merci de votre aide !!
______________________________________
J'aime bien les NewsGroup mais pas les virus !!!
Retirer la 'Virgule.' si vous voulez répondre !!
Myriam.M