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