Trier une plage

Caninge

XLDnaute Impliqué
Bonjour à tous,

Je cherche la formule pour trier une colonne tout en déplaçant les lignes concernées.

je suis maladroit pour poser ma question, j'envoie un exemple en pièce jointe.

je vous remercie

Caninge
 

Fichiers joints

JHA

XLDnaute Barbatruc
Re : Trier une plage

Bonjour à tous,

A mon avis pas besoin de formule, mets des entêtes sur chaque colonne du tableau et fitre sur la colonne "C"

JHA
 

Caninge

XLDnaute Impliqué
Re : Trier une plage

Bonjour JHA,

oui cela je sais faire, mais je préférerais que le tri se fasse automatiquement.

a plus

Merci
 

JHA

XLDnaute Barbatruc
Re : Trier une plage

Re,

Il y a de erreurs sur tout la colonne "C" car il y a une formule, peux tu copier et coller les valeurs.
As tu des doubles dans la colonne "C"?

JHA
 

Caninge

XLDnaute Impliqué
Re : Trier une plage

Bonjour JOB 75,

le résultat escompté est bien celui que je veux.

Mais les formules du tableau de droite (après) ne dépendent pas du tableau de gauche (avant) qui lui n'existe pas !

Les calculs se font d'après l'onglet LIGUE 1 & 2, tu me comprends ?

Je modifie mon fichier

Bon dimanche et merci

Caninge
 

Fichiers joints

job75

XLDnaute Barbatruc
Re : Trier une plage

Bonjour Caninge, le forum,

Vous voulez le beurre et l'argent du beurre ?

Si le 1er tableau n'existe pas créez-le, et masquez-le éventuellement !!!

Bonne journée.
 

job75

XLDnaute Barbatruc
Re : Trier une plage

Re,

Maintenant avec VBA un seul tableau (sans formules) suffit :

Code:
Private Sub Worksheet_Activate()
Dim ncol%, source As Range, dest As Range, t, i&
ncol = 7 'nombre de colonnes, à adapter
Set source = Feuil1.[B2].CurrentRegion.Columns(9) 'à adapter
Set dest = [B4].CurrentRegion.Resize(, ncol) 'à adapter
Application.ScreenUpdating = False
'---remplissage de la 2ème colonne---
t = dest.Resize(, 2) 'matrice, plus rapide
For i = 1 To UBound(t)
  t(i, 2) = Application.CountIf(source, t(i, 1)) 'NB.SI
Next
dest.Columns(2) = Application.Index(t, , 2)
'---tri décroissant sur la 2ème colonne---
dest.Sort dest(1, 2), xlDescending, Header:=xlNo 'pas de titres
dest.Columns(2).Replace 0, "#N/A", xlWhole
'---couleur---
dest.Interior.Color = vbYellow 'jaune
'---effacements---
On Error Resume Next 'si aucun #N/A
With Intersect(dest, dest.Columns(2).SpecialCells(xlCellTypeConstants, 16).EntireRow)
  .Interior.ColorIndex = xlNone
  .Columns(2).ClearContents
End With
End Sub
Fichier joint.

A+
 

Fichiers joints

Caninge

XLDnaute Impliqué
Re : Trier une plage

Re,

bonjour

je suis pénible je sais, en ce moment le patron et la copine me grondent . et job 75 (je blague)

Si j'avais posé ma question convenablement cela aurait été mieux je pense, c'est comme au scrabble quand
on a un mauvais tirage, vous avez la mouise qui vous poursuit.

revenons à nos moutons :

je n'en voulais pas tant, une ou plusieurs formules me suffisent sans passer par une VBA.

d'autant plus que je vais rajouter d'autres feuilles "essai formule "

A plus

merci
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas