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
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 Virgule.la.bande.a.Basil@Netcourrier.com
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
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
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 GeeDee@m6net.fr"
'-------------------------------------------------------------
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 Virgule.la.bande.a.Basil@Netcourrier.com
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
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
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 GeeDee@m6net.fr"
'-------------------------------------------------------------
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 Virgule.la.bande.a.Basil@Netcourrier.com
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
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
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 Virgule.la.bande.a.Basil@Netcourrier.com
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
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
classeursrécupérés d'un autre système (Unix)
Les traits horizontaux sont réalisés avec des '-------' et je veux
supprimertoutes ces lignes...
Hélas j'ai systématiquement une erreur lors du 2ème passage par 'On
ErrorGoTo 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
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 Virgule.la.bande.a.Basil@Netcourrier.com
"twinley" <twinleymax@hotmail.com> a écrit dans le message de news:
euLcjfZ7EHA.2452@TK2MSFTNGP14.phx.gbl...
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 GeeDee@m6net.fr"
'-------------------------------------------------------------
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 Virgule.la.bande.a.Basil@Netcourrier.com
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
classeursrécupérés d'un autre système (Unix)
Les traits horizontaux sont réalisés avec des '-------' et je veux
supprimertoutes ces lignes...
Hélas j'ai systématiquement une erreur lors du 2ème passage par 'On
ErrorGoTo 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
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
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 Virgule.la.bande.a.Basil@Netcourrier.com
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