D
damien
Guest
bonsoir à tous
je voudrai mettre quelque chose de ce style dans ma macro pour faire mon tri mais il renvoi une erreur.
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
Selection.CurrentRegion.Select
Selection.Sort Key1:=Range('A17'), Order1:=xlAscending, Key2:=Range('G17' _
), Order2:=xlAscending, Key3:=Range('C17'), Order3:=xlDescending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveSheet.Protect DrawingObjects:=true, Contents:=true, Scenarios:=true
voici ma macro
Dim TheDate As Date ' Déclare les variables.
Dim Msg
Dim c As Long
reponse = InputBox('Entrez une date (jj/mm/aaaa)', 'Listing contrôle de puis le... ', Sheets('base peche').Range('A1'))
If IsDate(reponse) Then
TheDate = reponse
UserForm13.Label2 = Date - DateDiff('d', TheDate, Now)
UserForm13.Label3 = 'Récapitulatif contrôles depuis le :' & TheDate
lafin = Worksheets('base peche').Range('A65536').End(xlUp).Row
For N = 1 To lafin
If Worksheets('base peche').Range('A' & N) = CDate(UserForm13.Label2) Then
debut = N
Exit For
End If
Next N
If N = lafin + 1 Then
MsgBox ('La date n'existe pas!')
Call macro1
Else
For N = debut To lafin
UserForm13.ListBox1.AddItem Worksheets('base peche').Range('A' & N)
Next N
For N = 1 To UserForm13.ListBox1.ListCount - 1
UserForm13.ListBox1.List(N - 1, 1) = Worksheets('base peche').Range('c' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 2) = Worksheets('base peche').Range('d' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 3) = Worksheets('base peche').Range('e' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 4) = Worksheets('base peche').Range('f' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 5) = Worksheets('base peche').Range('g' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 6) = Worksheets('base peche').Range('j' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 7) = Worksheets('base peche').Range('o' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 8) = Worksheets('base peche').Range('p' & N + debut - 1)
Next N
UserForm13.Show
End If
Else
If reponse = '' Then
Exit Sub
Else
MsgBox ('Entrez une date valide!')
Call macro1
End If
End If
merci a tous
je voudrai mettre quelque chose de ce style dans ma macro pour faire mon tri mais il renvoi une erreur.
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
Selection.CurrentRegion.Select
Selection.Sort Key1:=Range('A17'), Order1:=xlAscending, Key2:=Range('G17' _
), Order2:=xlAscending, Key3:=Range('C17'), Order3:=xlDescending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveSheet.Protect DrawingObjects:=true, Contents:=true, Scenarios:=true
voici ma macro
Dim TheDate As Date ' Déclare les variables.
Dim Msg
Dim c As Long
reponse = InputBox('Entrez une date (jj/mm/aaaa)', 'Listing contrôle de puis le... ', Sheets('base peche').Range('A1'))
If IsDate(reponse) Then
TheDate = reponse
UserForm13.Label2 = Date - DateDiff('d', TheDate, Now)
UserForm13.Label3 = 'Récapitulatif contrôles depuis le :' & TheDate
lafin = Worksheets('base peche').Range('A65536').End(xlUp).Row
For N = 1 To lafin
If Worksheets('base peche').Range('A' & N) = CDate(UserForm13.Label2) Then
debut = N
Exit For
End If
Next N
If N = lafin + 1 Then
MsgBox ('La date n'existe pas!')
Call macro1
Else
For N = debut To lafin
UserForm13.ListBox1.AddItem Worksheets('base peche').Range('A' & N)
Next N
For N = 1 To UserForm13.ListBox1.ListCount - 1
UserForm13.ListBox1.List(N - 1, 1) = Worksheets('base peche').Range('c' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 2) = Worksheets('base peche').Range('d' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 3) = Worksheets('base peche').Range('e' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 4) = Worksheets('base peche').Range('f' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 5) = Worksheets('base peche').Range('g' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 6) = Worksheets('base peche').Range('j' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 7) = Worksheets('base peche').Range('o' & N + debut - 1)
UserForm13.ListBox1.List(N - 1, 8) = Worksheets('base peche').Range('p' & N + debut - 1)
Next N
UserForm13.Show
End If
Else
If reponse = '' Then
Exit Sub
Else
MsgBox ('Entrez une date valide!')
Call macro1
End If
End If
merci a tous