Tri automatique sur excel 2007
Résolu
scampy
-
scampy -
scampy -
Bonjour,
Bonjour à tous,
Je désirerais faire un tri par ordre numérique croissant sur une colonne d'excel qui contient diverses formules ; mais je voudrais que ce tri se fasse automatiquement dès qu'un nombre d'une formule est modifié.
En chechant sur le web, j'ai cru voir qu'une macro VBA pourrait réaliser ceci.
Je ne connais pas VBA, en tatonnant j'ai pu l'ouvrir sur excel (2007) y entrer queques lignes de code mais sans succès.
Pouvez-vous m'aider?
PS : mon fichier s'appelle "infos" et ma colonne à trier est la A avec un titre de colonne appelé "amortissents".
Merci beaucoup .
Bonjour à tous,
Je désirerais faire un tri par ordre numérique croissant sur une colonne d'excel qui contient diverses formules ; mais je voudrais que ce tri se fasse automatiquement dès qu'un nombre d'une formule est modifié.
En chechant sur le web, j'ai cru voir qu'une macro VBA pourrait réaliser ceci.
Je ne connais pas VBA, en tatonnant j'ai pu l'ouvrir sur excel (2007) y entrer queques lignes de code mais sans succès.
Pouvez-vous m'aider?
PS : mon fichier s'appelle "infos" et ma colonne à trier est la A avec un titre de colonne appelé "amortissents".
Merci beaucoup .
A voir également:
- Tri automatique sur excel 2007
- Comment faire un tri personnalisé sur excel - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Réponse automatique thunderbird - Guide
- Word et excel gratuit - Guide
6 réponses
Bonjour,
1°) Faire ta macro avec l'éditeur de macro en utilisant la fonction Tri personnaliser.
2°) Recopier le code dans la partie Worksheet_Calculate() de la feuille.
A+
1°) Faire ta macro avec l'éditeur de macro en utilisant la fonction Tri personnaliser.
2°) Recopier le code dans la partie Worksheet_Calculate() de la feuille.
A+
Merci , je vais voir ce que je peux faire car je ne connais pas du tout les macros.
Il me faudrais du pas à pas ...
Néanmoins je te remercie encore pour ta réponse.
Il me faudrais du pas à pas ...
Néanmoins je te remercie encore pour ta réponse.
Un guide ..
Si le ruban 'Développeur" n'est pas présent..Clic sur le bouton "Office" (le rond au dessus à gauche, dans la fenêtre, en bas à droite.. clic sur Options >> Standard et valider l'option... 'Afficher l'onglet développeur dans le ruban'
ENSUITE..
Cliquer sur 'Développeur' dans le menu >> Enregistrer une macro.
ENSUITE..
Faire les manipulations pour réaliser ce que tu veux (Une seule fois), quand fini, revenir sur ce ruban et cliquer sur 'Arrêter l'enregistrement'
ENSUITE.. Taper Alt+F11 >> double clic sur Module 1 , copier le code et le mettre dans un poste suivant.
Je sais, ça parait compliquer mais suis bien toutes ces directives et tu y arriveras.
A+
Si le ruban 'Développeur" n'est pas présent..Clic sur le bouton "Office" (le rond au dessus à gauche, dans la fenêtre, en bas à droite.. clic sur Options >> Standard et valider l'option... 'Afficher l'onglet développeur dans le ruban'
ENSUITE..
Cliquer sur 'Développeur' dans le menu >> Enregistrer une macro.
ENSUITE..
Faire les manipulations pour réaliser ce que tu veux (Une seule fois), quand fini, revenir sur ce ruban et cliquer sur 'Arrêter l'enregistrement'
ENSUITE.. Taper Alt+F11 >> double clic sur Module 1 , copier le code et le mettre dans un poste suivant.
Je sais, ça parait compliquer mais suis bien toutes ces directives et tu y arriveras.
A+
j'ai suivi les instructions, voilà le code qui en découle :
Sub tri()
'
' tri Macro
' tri numérique
'
'
Application.Width = 777
Application.Height = 743.25
Columns("A:A").Select
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A2:A8")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Que doid-je en faire ??
Sub tri()
'
' tri Macro
' tri numérique
'
'
Application.Width = 777
Application.Height = 743.25
Columns("A:A").Select
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A2:A8")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Que doid-je en faire ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu est toujours dans l'IDE, sur la gauche tu à la fenêtre du projet, tu double clic sur Feuil1
Dans la nouvelle fenêtre la liste de gauche tu sélectionne WorkSheet.
Ensuite dans la liste de droite tu sélectionne Calculte, tu devrais avoir...
entre ces lignes tu colle ton code pour avoir..
Ça devrait fonctionner.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Dans la nouvelle fenêtre la liste de gauche tu sélectionne WorkSheet.
Ensuite dans la liste de droite tu sélectionne Calculte, tu devrais avoir...
Private Sub Worksheet_Calculate() End Sub
entre ces lignes tu colle ton code pour avoir..
Private Sub Worksheet_Calculate() Columns("A:A").Select ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Feuil1").Sort .SetRange Range("A2:A8") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
Ça devrait fonctionner.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.