nadeson
Messages postés11Date d'inscriptionlundi 28 mai 2012StatutMembreDernière intervention 6 juin 2012
-
5 juin 2012 à 11:16
nadeson
Messages postés11Date d'inscriptionlundi 28 mai 2012StatutMembreDernière intervention 6 juin 2012
-
6 juin 2012 à 10:42
Bonjour à tous voici mon programme,
Sub définitionCarte()
Worksheets("def").Range("B10:B11").ClearContents
Application.DisplayAlerts = False 'supprime le message d'alerte d'Excel
If Charts.Count = 0 Then
Else: Charts.Delete 'efface le graph
End If
Application.DisplayAlerts = True 'active les messages d'alertes d'Excel
If Worksheets("fp92").Cells(2, 1).Value = "" Then
Else: Worksheets("fp92").Range("A2:K500").ClearContents
Worksheets("fp92").Range("O2:Y500").ClearContents
Worksheets("fp92").Range("AC2:AM500").ClearContents
End If
Worksheets("def").Range("B10:B11").NumberFormat = "dd/mm/yyyy"
'requète en fonction du type d'analyseur et du produit pour affichage dans données
If Cells(12, 2).Value = "FP92 5G2" Then
fp92
End If
'filtre selon la période
Dim datedeb As Date
Dim datefin As Date
Dim myrange As Range
Dim z As Integer
datedeb = DateAdd("m", -12, Date)
datefin = Date
Worksheets("def").Cells(10, 2).Value = datedeb
Worksheets("def").Cells(11, 2).Value = datefin
Worksheets("fp92").Activate
For z = 2 To 700
If Cells(z, 1).Value < datedeb Or Cells(z, 1).Value > datefin Then
Rows(z).ClearContents
End If
Next z
If Cells(2, 1).Value = "" Then
Cells(2, 1).End(xlDown).Select
Selection.Offset(-1, 0).Select
Set myrange = Range(Cells(2, 1), Selection)
myrange.EntireRow.Delete
End If
Worksheets("fp92").Range(Cells(2, 1), Cells(2, 13).End(xlDown)).Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("A2"), Order2:=xlAscending, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
For z = 2 To 700
If Cells(z, 15).Value < datedeb Or Cells(z, 15).Value > datefin Then
Rows(z).ClearContents
End If
Next z
If Cells(2, 15).Value = "" Then
Cells(2, 15).End(xlDown).Select
Selection.Offset(-1, 0).Select
Set myrange = Range(Cells(2, 15), Selection)
myrange.EntireRow.Delete
End If
Worksheets("fp92").Range(Cells(2, 15), Cells(2, 27).End(xlDown)).Select
Selection.Sort Key1:=Range("P2"), Order1:=xlAscending, Key2:=Range("O2"), Order2:=xlAscending, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
For z = 2 To 700
If Cells(z, 29).Value < datedeb Or Cells(z, 29).Value > datefin Then
Rows(z).ClearContents
End If
Next z
If Cells(2, 29).Value = "" Then
Cells(2, 29).End(xlDown).Select
Selection.Offset(-1, 0).Select
Set myrange = Range(Cells(2, 29), Selection)
myrange.EntireRow.Delete
End If
Worksheets("fp92").Range(Cells(2, 29), Cells(2, 41).End(xlDown)).Select
Selection.Sort Key1:=Range("AD2"), Order1:=xlAscending, Key2:=Range("AC2"), Order2:=xlAscending, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
End Sub
Le souci est au niveau du filtre pour la période. Donc j'applique un filtre pour une plage de cellule puis une autre,etc...... Mais justement il ne s'applique pas seulement aux cellules que je sélectionne mais à toutes les cellules de la feuille et je ne vois pas pourquoi.
Merci d'avance pour vos réponses
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 5 juin 2012 à 18:51
Bonjour,
J'attends qu'un administrateur ait bien voulu déplacer cette discussion, qui n'a rien à faire dans la section VB.Net, hein ... !
En attendant : précise ce que tu veux exactement sélectionner (la/les plage(s))
Ma solution viendra après le déplacement et sur la base de ta réponse à cette question.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 5 juin 2012 à 18:55
Explication : mon intransigeance est motivée par le fait que toutes tes autres discussions, qui auraient dû être ouvertes dans la section Langages dérivés > VBA l'ont été (ouvertes) indument ailleurs. L'une a été déplacée par un administrateur et tu continues à ne pas respecter cette règle essentielle.
Si tu veux de l'aide : conforme-toi au moins à cette discipline fondamentale.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 5 juin 2012 à 21:28
Ah oui ! (en plus) ===>>
Le souci est au niveau du filtre pour la période
Je ne vois aucun filtre dans ton code !
Tu l'as bien caché !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Vous n’avez pas trouvé la réponse que vous recherchez ?
nadeson
Messages postés11Date d'inscriptionlundi 28 mai 2012StatutMembreDernière intervention 6 juin 2012 6 juin 2012 à 10:42
Désolé, je ne savais pas que je me trompais de forum pour les post. Je ferai plus attention la prochaine fois.
Pour le filtre, c'est pourtant marqué sur mon programme. Et sinon j'ai trouvé la solution: le problème venait du row(z).Clearcontents. J'effacais toute la rangée au lieu que d'une plage de cellules