Porblème fonction TRI 8500 lignes
Résolu
knapy70
Messages postés
13
Statut
Membre
-
knapy70 Messages postés 13 Statut Membre -
knapy70 Messages postés 13 Statut Membre -
Bonjour,
J’ai une feuille Excel (environ 8500 lignes) comprenant des classements du style 1er au 10ème.
Or les données sont compactes. Je chercherai à faire un tri croissant selon un critère (style temps de performance) pour chaque classement.
Pour l’ensemble des données, Excel effectue un tri pour les 8500 lignes selon temps de performance.
Existe-t-il une macro ou une fonction Excel pouvant traiter un tri selon un critère ( ex colonne temps de performance) pour chaque classement ?
Existe-t-il une macro pouvant insérer une ligne vierge dans ce tableau selon par exemple la colonne indiquant « 1er » et le contraire, cad supprimer une ligne après une ligne comportant « 1er » ?
Merci d’avance pour vos réflexions et propositions.
Knapy70.
J’ai une feuille Excel (environ 8500 lignes) comprenant des classements du style 1er au 10ème.
Or les données sont compactes. Je chercherai à faire un tri croissant selon un critère (style temps de performance) pour chaque classement.
Pour l’ensemble des données, Excel effectue un tri pour les 8500 lignes selon temps de performance.
Existe-t-il une macro ou une fonction Excel pouvant traiter un tri selon un critère ( ex colonne temps de performance) pour chaque classement ?
Existe-t-il une macro pouvant insérer une ligne vierge dans ce tableau selon par exemple la colonne indiquant « 1er » et le contraire, cad supprimer une ligne après une ligne comportant « 1er » ?
Merci d’avance pour vos réflexions et propositions.
Knapy70.
A voir également:
- Porblème fonction TRI 8500 lignes
- Fonction si et - Guide
- Comment faire un tri personnalisé sur excel - Guide
- Logiciel tri photo - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
6 réponses
Bonsoir,
Il faudrait être un peu plus précis : pourrais-tu nous envoyer un fichier pour donner un exemple ?
Pour les questions, je répondrais oui, mais à priori, tu as 850 classements : comment sont-ils différenciés ?
Il faudrait être un peu plus précis : pourrais-tu nous envoyer un fichier pour donner un exemple ?
Pour les questions, je répondrais oui, mais à priori, tu as 850 classements : comment sont-ils différenciés ?
Bonsoir,
Je te joins le fichier : http://dl.free.fr/getfile.pl?file=/k3YnWJl0
Ce sont des courses. Il existe un code course et les éléments des courses.
Je voudrais effectuer un tri croissant par rapport à la colonne "cote fin".
J'imagine qu'il existe une macro ou fonction
Je débute en macro.
Merçi d'avance
Knapy70
Je te joins le fichier : http://dl.free.fr/getfile.pl?file=/k3YnWJl0
Ce sont des courses. Il existe un code course et les éléments des courses.
Je voudrais effectuer un tri croissant par rapport à la colonne "cote fin".
J'imagine qu'il existe une macro ou fonction
Je débute en macro.
Merçi d'avance
Knapy70
Bonsoir,
Si j'ai bien compris, je pense que la fonction Données/Trier répond à ton besoin : tu fais un premier tri suivant N° course croissant puis un second suiavnt cote fin décroissant.
Pour insérer et supprimer les lignes, on peut le faire avec un macro, mais je n'ai pas trop compris ce que tu veux faire.
Si j'ai bien compris, je pense que la fonction Données/Trier répond à ton besoin : tu fais un premier tri suivant N° course croissant puis un second suiavnt cote fin décroissant.
Pour insérer et supprimer les lignes, on peut le faire avec un macro, mais je n'ai pas trop compris ce que tu veux faire.
Bonjour,
Merci pour ton conseil, en effet, cela fonctionne.
Quelques révisions sur Excel s'imposent !
Pour insérer/supprimer une ligne vierge entre chaque
courses (à partir du code code course ou classement), c'est juste
une question de présentation pour bien distinguer sur le fichier
une séparation entre chaque course pour une meilleure
visibilité. A mon avis une macro peut le faire, ce qui est mieux de
le faire manuellement.
Cordialement,
Knapy70
Merci pour ton conseil, en effet, cela fonctionne.
Quelques révisions sur Excel s'imposent !
Pour insérer/supprimer une ligne vierge entre chaque
courses (à partir du code code course ou classement), c'est juste
une question de présentation pour bien distinguer sur le fichier
une séparation entre chaque course pour une meilleure
visibilité. A mon avis une macro peut le faire, ce qui est mieux de
le faire manuellement.
Cordialement,
Knapy70
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Oui effectivement, une macro semble le mieux adaptée, par exemple :
'
' Début du code
'#################
'
Sub Ajouter_lignes()
'
' Déclaration des variables
Dim i As Integer
Dim etat_avant As Boolean
'
' Initialisation des variables
i = 3
'
' Désactivation de la mise à jour de l'affichage pour éviter le scintillement
etat_avant = Application.ScreenUpdating
Application.ScreenUpdating = False
'
' Tant que la cellule Bi n'est pas vide
While (Range("B" & i).Value <> "")
' Si la valeur en Bi est différente de la valeur en B(i-1) alors
If (Range("B" & i).Value <> Range("B" & (i - 1)).Value) Then
' Insertion d'une ligne
Rows(i).Insert Shift:=xlDown
' Changement de la hauteur de la ligne inséée
Rows(i).RowHeight = 6
i = i + 2
Else
i = i + 1
End If
Wend
'
Application.ScreenUpdating = etat_avant
'
End Sub
'
'#########################
' Fin du code
Bonne soirée
Oui effectivement, une macro semble le mieux adaptée, par exemple :
'
' Début du code
'#################
'
Sub Ajouter_lignes()
'
' Déclaration des variables
Dim i As Integer
Dim etat_avant As Boolean
'
' Initialisation des variables
i = 3
'
' Désactivation de la mise à jour de l'affichage pour éviter le scintillement
etat_avant = Application.ScreenUpdating
Application.ScreenUpdating = False
'
' Tant que la cellule Bi n'est pas vide
While (Range("B" & i).Value <> "")
' Si la valeur en Bi est différente de la valeur en B(i-1) alors
If (Range("B" & i).Value <> Range("B" & (i - 1)).Value) Then
' Insertion d'une ligne
Rows(i).Insert Shift:=xlDown
' Changement de la hauteur de la ligne inséée
Rows(i).RowHeight = 6
i = i + 2
Else
i = i + 1
End If
Wend
'
Application.ScreenUpdating = etat_avant
'
End Sub
'
'#########################
' Fin du code
Bonne soirée