Macro sur toutes les feuilles d'un classeur

fouggy

XLDnaute Junior
Bonjour le Forum,

Trop nul ce que j'ai à demander mais bon je sais pas pourquoi ça bloque...

J'ai une macro, ci-dessous, qui fonctionne parfaitement bien sur ma feuille active. Elle consiste à supprimer toutes les lignes dont les dates de la colonne A ne correspondent pas au créneau de dates renseigné.

J'ai par ailleurs la codification à intégrer à toutes macros pour que celles-ci s'appliquent à toutes les feuilles d'un classeur. Elle marche parfaitement bien aussi.

Sauf que pour la macro ci-dessous, j'arrive pas à faire en sorte qu'elle s'applique à toutes les feuilles du classeur !!! Probablement un problème de positionnement de ligne de commande.

Help, Please... Ans Thank's...

LA MACRO :

Sub SupprimeLignesDates()

Dim Debut As Date
Dim Fin As Date
Dim temp1 As Long
Dim temp2 As Long

Debut = InputBox("Quelle est la date de début d'analyse ? (jj/mm/aa)", "Date début")
Fin = InputBox("Quelle est la date de fin d'analyse ? (jj/mm/aa)", "Date fin")

With Range("a1:a10000")
Set c = .Find(Debut)
If Not c Is Nothing Then
temp1 = c.Row
End If
Set d = .Find(Fin, LookIn:=xlValues)
If Not c Is Nothing Then
temp2 = d.Row
End If
End With

Range(Cells(1, 1), Cells(temp1 - 1, 1)).EntireRow.Delete
Range(Cells(temp2, 1), Cells(10000, 1)).EntireRow.Delete

End Sub

LA CODIFICATION A INSERER :

On Error Resume Next
Dim w As Worksheet
For Each w In Worksheets
Next

LE POSITIONNEMENT DE LA CODIFICATION DANS LA MACRO QUI NE FONCTIONNE PAS :

Sub SupprimeLignesEnFonctionDates()

On Error Resume Next

Dim w As Worksheet

Dim Debut As Date
Dim Fin As Date
Dim temp1 As Long
Dim temp2 As Long



Debut = InputBox("Quelle est la date de début d'analyse ? (jj/mm/aa)", "Date début")
Fin = InputBox("Quelle est la date de fin d'analyse ? (jj/mm/aa)", "Date fin")


For Each w In Worksheets

With Range("a1:a10000")
Set c = .Find(Debut)
If Not c Is Nothing Then
temp1 = c.Row
End If
Set d = .Find(Fin, LookIn:=xlValues)
If Not c Is Nothing Then
temp2 = d.Row
End If
End With

Range(Cells(1, 1), Cells(temp1 - 1, 1)).EntireRow.Delete
Range(Cells(temp2, 1), Cells(10000, 1)).EntireRow.Delete

Next

End Sub
 

Discussions similaires

Réponses
28
Affichages
924
Réponses
12
Affichages
537

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou