MACRO : édition d'un paramètre

Y compris Power BI, Power Query et toute autre question en lien avec Excel
B
Bisses
Membre fidèle
Membre fidèle
Messages : 218
Inscrit le : 24 septembre 2012
Version d'Excel : 2016 FR

Message par Bisses » 3 mars 2015, 09:10

Bonjour,
Juste une question en ce qui concerne une macro.
En fait, lorsque j'enregistre la macro, les paramètres présents à ce moment-là sont pris en compte. Il s'agit de ça : ("1", _
"11", "2", "3", "32", "4", "5", "6", "8"
). On voit que seront pris en compte que le : 11, 2, 3, 32, 4, 5, 6, 8,.
Ma question : est-il possible de modifier cela et de demander que soient pris en compte les numéros 1 à 1000? En faisant ainsi (par exemple) "1"- "1000" ou "1";"1000" enfin bref je ne trouve pas la formule

Voici la macro avec, en rouge, les paramètres que je voudrais modifier :

Sub TRI_NUM()
'
' TRI_NUM Macro
'

'
ActiveSheet.Unprotect
Range("C6").Select
ActiveCell.FormulaR1C1 = "Liste numérique"
Range("C115").Select
ActiveWorkbook.Worksheets("Liste à afficher").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Liste à afficher").AutoFilter.Sort.SortFields.Add _
Key:=Range("B7:B537"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Liste à afficher").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.Range("$B$6:$G$537").AutoFilter Field:=1
ActiveSheet.Range("$B$6:$G$537").AutoFilter Field:=4, Criteria1:=Array("1", _
"11", "2", "3", "32", "4", "5", "6", "8"),
Operator:=xlFilterValues
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End Sub
Avec mes remerciements

Bisses
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'621
Appréciations reçues : 298
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 3 mars 2015, 09:38

bonjour,

essaie ceci

Sub TRI_NUM()
'
' TRI_NUM Macro
'

'
    ActiveSheet.Unprotect
    Range("C6").Select
    ActiveCell.FormulaR1C1 = "Liste numérique"
    Range("C115").Select
    ActiveWorkbook.Worksheets("Liste à afficher").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Liste à afficher").AutoFilter.Sort.SortFields.Add _
        Key:=Range("B7:B537"), SortOn:=xlSortOnValues, Order:=xlAscending, _
        DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Liste à afficher").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveSheet.Range("$B$6:$G$537").AutoFilter Field:=1
    ActiveSheet.Range("$B$6:$G$537").AutoFilter Field:=4, Criteria1:=">=1", _
        Operator:=xlAnd, Criteria2:="<=1000"
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True
End Sub
B
Bisses
Membre fidèle
Membre fidèle
Messages : 218
Inscrit le : 24 septembre 2012
Version d'Excel : 2016 FR

Message par Bisses » 3 mars 2015, 11:31

Merci pour cette réponse rapide et surtout efficace.
Mais j'ai encore une demande à te faire. Pour que tout ça fonctionne bien, j'ai besoin d'activer "sélectionner tout" dans le filtre puis décocher le zéro. J'ai donc créé une petite macro mais ça ne marche pas comme je voudrais.

Voici la macro (la ligne en rouge bug) :

Sub MAJ()
'
' MAJ Macro
'

'
ActiveSheet.Unprotect

ActiveSheet.Range("$B$6:$G$547").AutoFilter Field:=4,
Criteria1:=">=1", _
Operator:=xlAnd, Criteria2:="<=1000"

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True

End Sub
Avec mes remerciements

Bisses
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'621
Appréciations reçues : 298
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 3 mars 2015, 13:00

Bonjour,

tu as oublié le caractère de continuation _ sur la ligne autofilter
Sub MAJ()
'
' MAJ Macro
'

'
    ActiveSheet.Unprotect
ActiveSheet.Range("$B$6:$G$547").AutoFilter Field:=4, _
    Criteria1:=">=1", _
        Operator:=xlAnd, Criteria2:="<=1000"

        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True

End Sub
B
Bisses
Membre fidèle
Membre fidèle
Messages : 218
Inscrit le : 24 septembre 2012
Version d'Excel : 2016 FR

Message par Bisses » 4 mars 2015, 10:54

Tout d'abord merci pour tes réponses.
Ma macro ne fonctionne encore pas comme je voudrais.
Voici donc en attaché le fichier Excel et l'explication ci-dessous de ce que voudrais obtenir à l'aide des macros.
J'ai une feuille "STOCK" qui est la base de donnée (A à H). Puis une autre feuille "LISTE A AFFICHER" qui est destinée à être imprimée et doit donc afficher les données de la feuille STOCK ainsi que toutes modifications.
Si j'entre des données en "STOCK" H59, H60, H61 ça fonctionne et la LISTE A AFFICHER prend en compte ces données. Je dois pour cela cliquer sur les raccourcis macro "Tri numérique ou Tri alphabétique" de la feuille LISTE A AFFICHER. Par contre, si j'entre une donnée (feuille STOCK) en A396, par exemple "403" puis en B396 "Auteur 392" enfin en H396 "7", ces données n'apparaissent pas en feuille LISTE A AFFICHER. Il faudrait aussi que les macros décochent la valeur "zéro" (feuille LISTE A AFFICHER, colonne "E") afin que le valeurs nulles n'apparaissent pas.
Pour résumer le tout, il faudrait que toutes les modifications en feuille STOCK, plage A5 à H495, apparaissent (sans les zéros) dans la feuille LISTE A AFFICHER.
En espérant que la description du problème soit claire,
Vifs remerciements
Bisses
Bisses_macro.xlsm
(234.25 Kio) Téléchargé 10 fois
Avec mes remerciements

Bisses
B
Bisses
Membre fidèle
Membre fidèle
Messages : 218
Inscrit le : 24 septembre 2012
Version d'Excel : 2016 FR

Message par Bisses » 6 mars 2015, 07:30

Bonjour,
Je viens aux nouvelles car pas de réponses à mon problème depuis quelques jours.
Peut-être mon dernier message n'est pas au bon endroit? devrais-je poster un nouveau sujet?
cordialement
Avec mes remerciements

Bisses
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message