Appel d'un outil Excel dans une macro

Résolu
Myrrhyn Messages postés 3 Date d'inscription dimanche 10 mai 2020 Statut Membre Dernière intervention 10 mai 2020 - 10 mai 2020 à 16:54
Myrrhyn Messages postés 3 Date d'inscription dimanche 10 mai 2020 Statut Membre Dernière intervention 10 mai 2020 - 10 mai 2020 à 17:38
Bonjour à tous,

Ma question est la suivante: est-il possible d'appeler simplement un outil d'Excel dans une macro ? Si oui, comment ?

Par exemple: j'ai un tableau avec des noms d'aliments dans une colonne et dans les colonnes suivantes, à droite, j'ai les informations nutritionnelles de ces aliments. Lorsque je souhaite trier ce tableau (les aliments) par ordre alphabétique, l'outil manuel d'Excel le fait très bien et très intelligemment en triant les aliments et, surtout, en gardant les propriétés nutritionnelles associées à chaque aliment. (j'espère être clair jusqu'ici)
J'ai fait une macro permettant d'ajouter à ce tableau, des nouveaux aliments avec leurs propriétés (on renseigne un ou plusieurs aliments sur une feuille, on clique sur le bouton associé à la macro, les aliments et leurs propriétés vont dans la base de donnée qui est dans une autre feuille).
Mais voilà, ces aliments ne sont pas triés alphabétiquement et le processus de tri manuel, bien que simple et efficace, devient fastidieux s'il doit être répété à chaque ajout.
J'ai donc cherché à implémenter le tri à la fin de la macro d'ajout des nouveaux aliments afin qu'il trie à chaque fois qu'un nouvel aliment est ajouté, mais tout à l'air bien compliqué et fait appel à des notions de code VBA que je n'ai pas (et j'ai du mal à utiliser un code que je ne comprends pas).
D'où ma question: est-il possible, simplement, de dire vulgairement à Excel "applique l'outil sur cette plage de donnée" et que la magie s'opère. Et comment ?

Merci d'avoir pris le temps de m'avoir lu et de vos futures réponses =)

Cordialement
Myrrhyn

3 réponses

Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
10 mai 2020 à 17:00
Bonjour
Connais tu l’enregistreur de macro?
https://fauconnier.developpez.com/tutoriels/excel-enregistreur-macro/
1
Myrrhyn Messages postés 3 Date d'inscription dimanche 10 mai 2020 Statut Membre Dernière intervention 10 mai 2020
10 mai 2020 à 17:38
Bonjour,
Non je ne connaissais pas. Merci de cet outil, je vais m'y pencher car cela semble être d'une aide certaine !
Merci à vous :)
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 21
10 mai 2020 à 17:16
Bonjour,

Trier un tableau n'a rien de compliqué.
Par exemple, pour un tableau sur la feuille Feuil1 qui commence en A1,
Pour trier la colonne 3 dans l'ordre décroissant et colonne 2 dans l'ordre croissant :
Sub MonTri()
  With Worksheets("Feuil1").Range("A1").CurrentRegion
    .Sort Key1:=.Cells(1, 3), Order1:=xlDescending, _
          Key2:=.Cells(1, 2), Order2:=xlAscending, _
          Header:=xlYes, MatchCase:=False
  End With
End Sub

--
Cordialement
Patrice

Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.
1
Myrrhyn Messages postés 3 Date d'inscription dimanche 10 mai 2020 Statut Membre Dernière intervention 10 mai 2020
10 mai 2020 à 17:37
Merci !

Je ne sais pas vraiment si ça répond à la question: est-ce qu'il est possible d'appeler un outil Excel dans une macro et comment (à moins que le terme "order1:=xlNomDeLaCommandeExcel,_" soit le code d'appel ?)
Mais dans tous les cas, j'ai compris votre code et je l'ai ajouté à ma macro et ça résout mon problème. Donc merci à vous :)
0
Rejoignez-nous