Amélioration macro
Bonjour,
j'aimerais amélioré les macros de mon fichier.
la macro 2 tri mon tableau de H a AZ les nombres qui sont entre 1 et 30 puis supprimes les autres lignes puis elle fait un tri dans la colonne D et enfin tri la colonne A.
J'aimerais inclure une fenêtre quand j'appuie sur le bouton "faire le tri" qui me demande de faire le tri de 1 à ???
et dans la macro 3 le même chose mais de ??? à ???.
Est ce possible?
En vous remerciant par avance de votre aide.
Sub Macro2()
'
' Macro2 Macro
'
'
Application.ScreenUpdating = False
ActiveSheet.Range("B3:B550").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add _
Type:=xlExpression, _
Formula1:="=NB.SI.ENS(($H3:$AZ3);"">=1"";($H3:$AZ3);""<=30"")>0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = RGB(255, 192, 0)
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
With ActiveSheet.Range("$A$2:$AZ$550")
.AutoFilter Field:=2, _
Criteria1:=RGB(255, 192, 0), _
Operator:=xlFilterCellColor
.AutoFilter Field:=4, _
Criteria1:="Disponible"
End With
With ActiveSheet
.AutoFilter.Sort.SortFields.Clear
.AutoFilter.Sort.SortFields.Add Key _
:=Range("A2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.AutoFilter.Sort.Apply
End With
ActiveSheet.Range("A3").Select
Application.ScreenUpdating = True
End SubEdit modo : code mis entre balises, merci d'y faire attention
Bonjour draegurg et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment :
- Pour plus de lisibilité, utilisez la fonctionnalité (bouton) </> pour insérer vos codes VBA (et si possible aussi pour vos formules Excel).
Merci de votre participation
Cordialement
je joint le fichier au cas ou.
Bonjour,
Votre macro 2 ne tri pas le tableau de H à AZ avec les nombres,
mais toutes les cellules de la feuille en se basant sur la colonne A
Ca commence mal
A+
La macro tri bien les nombres de H a AZ puis supprime les lignes qui n'ont pas de nombre entre 1 et 30 une fois le tri des nombre fait elle supprime toutes les lignes
Ou c'est pas inscrit disponible en colonne D et enfin elle met dans l'ordre des CIE.
A tu cliqué sur le bouton faire le TRI?
Re,
A tu cliqué sur le bouton faire le TRI?
Non bien évidemment je dis ça comme ça pour me faire plaisir
Votre bouton fait appel à "Macro2"
Qui contient le code que j'ai optimisé suivant
Sub Macro2()
Application.ScreenUpdating = False
With ActiveSheet.Range("B3:B550")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=NB.SI.ENS(($H3:$AZ3);"">=1"";($H3:$AZ3);""<=30"")>0"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = RGB(255, 192, 0)
.TintAndShade = 0
End With
.FormatConditions(1).StopIfTrue = False
End With
With ActiveSheet.Range("$A$2:$AZ$550")
.AutoFilter Field:=2, Criteria1:=RGB(255, 192, 0), Operator:=xlFilterCellColor
.AutoFilter Field:=4, Criteria1:="Disponible"
End With
With ActiveSheet
With .AutoFilter
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("A2"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.Sort.Apply
End With
End With
Application.ScreenUpdating = True
End SubAlors après exécution, voici ce que ça donne
Vous noterez que la colonne triée est la A
Mais apparemment il est clair que vous êtes bien plus fort que moi en VBA
Je vous laisse donc à votre rêverie
Salutations
BrunoM45, désolé si nous avons pas le même langage. mais pour moi le tri de la colonne A est la dernière étape de la macro et si je suis ici c'est que je ne me prend pas pour ce que je ne suis pas. Ensuite si je te demande si tu a cliqué sur le bouton c'est parce que je n'était pas sur que tu ai vu le fichier ou si tu t'étais basé que sur le code du premier message. donc je te remercie d'avoir pris de ton temps. Et comme tu me le dis je vais resté à ma rêverie.
Bonne continuation