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 Sub

Edit 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.

16essai-cdm.xlsm (214.34 Ko)

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 Sub

Alors après exécution, voici ce que ça donne

image

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

Rechercher des sujets similaires à "amelioration macro"