Bonjour,
j'ai un peu le même problème que Théo, j'ai une feuille qui contient des images, des références, des prix. L'utilisateur doit entrer une quantité et obtient un prix. En bas, il y a le total. A la fin de sa saisie, l'utilisateur clique sur un bouton "Trier et masquer" pour faire remonter les lignes où il y a des quantités et faire disparaître les lignes où il n'y en a pas (la feuille est assez longue). J'ai bidouillé la réponse de PierreJean, mais ça ne marche pas... :-(
Voici ce que j'ai :
La première macro est celle du tri, pour laquelle j'ai simplement fait un enregistrement. J'ai voulu rajouter l'autre macro à la suite en faisant quelques modifications inspirées de la macro du tri... bon, vous pouvez voir que mes connaissances en VBA sont nulles. D'ailleurs, je me demande si ça vaut le coup de faire 2 macros, peut-être vaut-il mieux tout mettre dans la même...
Merci de vos conseils,
Jean-Pierre
Sub Tri_donnees()
'
' Tri_donnees Macro
' Trie le classeur en fonction des quantités de bijoux demandées, du plus grand au plus petit
'
'
Range("A19:I103").Select
ActiveWorkbook.Worksheets("Laiton doré").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Laiton doré").Sort.SortFields.Add2 Key:=Range( _
"H20:H103"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Laiton doré").Sort
.SetRange Range("A19:I103")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Sub MASQUER()
Range("H20:H103").Select
For Each cellule In Range("H20:H103")
If cellule.Value = "0" And cellule.Offset(0, 1).Value = "0" Then cellule.EntireRow.Hidden = True
Next cellule
End Sub