Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[ RESOLU ] Classer les plus grosses valeurs negatives,et

Guido

XLDnaute Accro
Bonsoir Le furum

J'aimerais faire ressortir les valeurs negatives et positives separement dans deux colonnes et

les classer de la plus grosses negative a la plus petites et classer les plus grosses valeurs positives a

la plus petite sans les valeurs ZERO

Merci

Guido
 

Pièces jointes

  • Classer plus grosses valeurs negatives,et.xls
    19.5 KB · Affichages: 85
  • Classer plus grosses valeurs negatives,et.xls
    19.5 KB · Affichages: 75

Guido

XLDnaute Accro
Re : Classer les plus grosses valeurs negatives,et

 

Guido

XLDnaute Accro
Re : Classer les plus grosses valeurs negatives,et

Re

job75

Comme d'habitude tu est un artiste,

Merci pour le fichier ( je vais l'ajouter dans le fichier que tu sais)

Merci

a plus

Amitier

Guido
 

job75

XLDnaute Barbatruc
Re : Classer les plus grosses valeurs negatives,et

Re,

La macro précédente n'exécute pas le 2ème tri s'il n'y a pas de valeurs négatives.

Prenez donc ce fichier (2) avec :

Code:
Private Sub CommandButton1_Click()
Dim c As Range, i As Variant
Application.ScreenUpdating = False
For Each c In Intersect([B:B], Me.UsedRange.EntireRow)
  If c = "N°" Then
    c.Resize(21, 5).Copy c(1, 9)
    c.Resize(, 5).Copy c(22, 9) '2ème ligne de titres
    With c(1, 9).Resize(22, 5)
      For i = 2 To 21
        If .Cells(i, 5) = 0 Then .Cells(i, 1).Resize(, 5) = "": _
          .Cells(i, 1).Resize(, 5).Interior.ColorIndex = xlNone
      Next
      .Sort .Columns(5), xlAscending, Header:=xlYes '1er tri
      i = Application.Match(0, .Columns(5))
      If IsError(i) Then i = 1 'si aucune valeur < 0
      .Cells(i + 1, 1).Resize(22 - i, 5) _
        .Sort .Columns(5), xlDescending, Header:=xlNo '2ème tri
    End With
  End If
Next
End Sub
A+
 

Pièces jointes

  • Classer selon le modele(2).xls
    93.5 KB · Affichages: 73

job75

XLDnaute Barbatruc
Re : Classer les plus grosses valeurs negatives,et

Re,

Avec Application.CountIf (NB.SI) c'est plus simple :

Code:
Private Sub CommandButton1_Click()
Dim c As Range, i&
Application.ScreenUpdating = False
For Each c In Intersect([B:B], Me.UsedRange.EntireRow)
  If c = "N°" Then
    c.Resize(21, 5).Copy c(1, 9)
    c.Resize(, 5).Copy c(22, 9) '2ème ligne de titres
    With c(1, 9).Resize(22, 5)
      For i = 2 To 21
        If .Cells(i, 5) = 0 Then .Cells(i, 1).Resize(, 5) = "": _
          .Cells(i, 1).Resize(, 5).Interior.ColorIndex = xlNone
      Next
      .Sort .Columns(5), xlAscending, Header:=xlYes '1er tri
      i = Application.CountIf(.Columns(5), "<0") + 2
      .Cells(i, 1).Resize(23 - i, 5) _
        .Sort .Columns(5), xlDescending, Header:=xlNo '2ème tri
    End With
  End If
Next
End Sub
Fichier (3).

A+
 

Pièces jointes

  • Classer selon le modele(3).xls
    93 KB · Affichages: 84

Guido

XLDnaute Accro
Re : Classer les plus grosses valeurs negatives,et

Bonsoir Job75 et le Forum

Pour job75

serait il possibles de faire le meme tableau mais avec les valeur qui se trouvent dans la colonne C.et

rajouté les nv tableaux a cotés des autres avec un espace de 5 colonne,Merci

d'avance

Guido
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Classer les plus grosses valeurs negatives,et

Bonsoir Guido,

Avec 995 posts vous devriez savoir adapter une macro quand comme ici elle n'est guère compliquée :

Code:
Private Sub CommandButton1_Click()
Dim c As Range, i&
Application.ScreenUpdating = False
For Each c In Intersect([B:B], Me.UsedRange.EntireRow)
  If c = "N°" Then
    c.Resize(21, 5).Copy c(1, 11)
    c.Resize(, 5).Copy c(22, 11) '2ème ligne de titres
    With c(1, 11).Resize(22, 5)
      For i = 2 To 21
        If .Cells(i, 2) = 0 Then .Cells(i, 1).Resize(, 5) = "": _
          .Cells(i, 1).Resize(, 5).Interior.ColorIndex = xlNone
      Next
      .Sort .Columns(2), xlAscending, Header:=xlYes '1er tri
      i = Application.CountIf(.Columns(2), "<0") + 2
      .Cells(i, 1).Resize(23 - i, 5) _
        .Sort .Columns(2), xlDescending, Header:=xlNo '2ème tri
    End With
  End If
Next
End Sub
Fichier (4).

Bonne fin de soirée.
 

Pièces jointes

  • Classer selon le modele(4).xls
    67 KB · Affichages: 47

Guido

XLDnaute Accro
Re : Classer les plus grosses valeurs negatives,et


Re

Job75

Je sais faire les macros toutes simples avec le bouton..

Mais les macros evenementiel ou autre la je ne sais pas

quand je klike droit pour voir le code vba je ne comprend pas le langage anglais,

donc afin de ne pas faire de grosses betises je prefere demander..

A plus Merci

je vais regarder le dernier fichier a plus

Guido
 

Guido

XLDnaute Accro
Re : Classer les plus grosses valeurs negatives,et

Re job75


Merci,pour tes deux modeles.

Serait il possible d'avoir les 4 tableaux dans une seule feuilles.

Voir ma proposition des emplacements dans le fichier ci dessous..

A plus c'est pour ensuite finaliser un futur fichier comme déjà dit...

A plus

Amitiées

Guido
 

Pièces jointes

  • Classer-les-plus-grosses-valeurs-negatives-et-classer-selon-le-modele-5-.xls
    91 KB · Affichages: 64

job75

XLDnaute Barbatruc
Re : Classer les plus grosses valeurs negatives,et

Bonjour Guido, le forum,

Dans ce fichier (5) j'ai mis 2 boutons avec une macro paramétrée :

Code:
Private Sub CommandButton1_Click()
Classement 2
End Sub

Private Sub CommandButton2_Click()
Classement 5
End Sub

Private Sub Classement(col%)
Dim c As Range, i&
Application.ScreenUpdating = False
For Each c In Intersect([B:B], Me.UsedRange.EntireRow)
  If c = "N°" Then
    c.Resize(21, 5).Copy c(1, 11)
    c.Resize(, 5).Copy c(22, 11) '2ème ligne de titres
    With c(1, 11).Resize(22, 5)
      For i = 2 To 21
        If .Cells(i, col) = 0 Then .Rows(i) = "": .Rows(i).Interior.ColorIndex = xlNone
      Next
      .Sort .Columns(col), xlAscending, Header:=xlYes '1er tri
      i = Application.CountIf(.Columns(col), "<0") + 2
      .Rows(i).Resize(23 - i).Sort .Columns(col), xlDescending, Header:=xlNo '2ème tri
    End With
  End If
Next
End Sub
Avec les Rows du tableau de droite, c'est un peu plus simple.

PS : je vais être absent jusqu'à la fin du week-end.

Bonne journée.
 

Pièces jointes

  • Classer selon le modele(5).xls
    67.5 KB · Affichages: 53
Dernière édition:

Guido

XLDnaute Accro
Re : Classer les plus grosses valeurs negatives,et

Re

Bonjour Job75

Merci pour cette proposition.

Ma derniere demande afin de clore ce fichier prevu pour 2017

peut tu a d'adapter selon le fichier ci joint merci d'avance

Bon week end

Guido
 

Pièces jointes

  • Classer-les-plus-grosses-valeurs-negatives-et-classer-selon-le-modele-5-avec les 2 boutons....xls
    91.5 KB · Affichages: 57

job75

XLDnaute Barbatruc
Re : Classer les plus grosses valeurs negatives,et

Bonsoir Guido, le forum,

Ben non, il n'y a pas eu d'amateurs, pourtant il n'y avait que les colonnes H I J à remplir.

Ce n'est pas trop compliqué, juste un peu laborieux :

Code:
Private Sub Classement(col%)
Dim c As Range, i&, Nmoins&, Nplus&
Application.ScreenUpdating = False
For Each c In Intersect([B:B], Me.UsedRange.EntireRow)
  If c = "N°" Then
    c.Resize(21, 5).Copy c(1, 11)
    c.Resize(, 5).Copy c(22, 11) '2ème ligne de titres
    With c(1, 11).Resize(22, 5)
      For i = 2 To 21
        If .Cells(i, col) = 0 Then .Rows(i) = "": .Rows(i).Interior.ColorIndex = xlNone
      Next
      .Sort .Columns(col), xlAscending, Header:=xlYes '1er tri
      Nmoins = Application.CountIf(.Columns(col), "<0")
      Nplus = Application.CountIf(.Columns(col), ">0")
      i = Nmoins + 2
      .Rows(i).Resize(23 - i).Sort .Columns(col), xlDescending, Header:=xlNo '2ème tri
      '---colonnes H I J---
      c(0, 7).Resize(2, 3) = IIf(col = 2, [{"O","V","E";"V N","","VP"}], [{"D","E","R";"DN","","DP"}])
      c(2, 7).Resize(2, 3) = "" 'RAZ
      If Nmoins Then
        i = IIf(col = 2, 1 + Nmoins, 2)
        c(2, 7) = .Cells(i, 1)
        c(3, 7) = .Cells(i, col)
      End If
      If Nplus Then
        i = IIf(col = 2, 2 + Nmoins + Nplus, 3 + Nmoins)
        c(2, 9) = .Cells(i, 1)
        c(3, 9) = .Cells(i, col)
      End If
    End With
  End If
Next
End Sub
Je n'ai pas essayé de comprendre à quoi peut servir cette petite gymnastique.

Fichier (6).

Bonne fin de soirée.
 

Pièces jointes

  • Classer selon le modele(6).xls
    68.5 KB · Affichages: 59

Guido

XLDnaute Accro
Re : Classer les plus grosses valeurs negatives,et

Bonsoir Guido, le forum,

Ben non, il n'y a pas eu d'amateurs, pourtant il n'y avait que les colonnes H I J à remplir.

Ce n'est pas trop compliqué, juste un peu laborieux :

Je n'ai pas essayé de comprendre à quoi peut servir cette petite gymnastique.

Fichier (6).

Bonne fin de soirée

Bonsoir Job75

Je vais essayé de repondre a la premiere question ou interogation...

il n'y a pas eu d'amateurs... non mais presque 290 vu ,meme si 100 sont les notres..

Peut etre pas d'amateur pour les stats sur les courses des chevaux....

si s'avait eté pour le loto ou euromillions alors la...imagine les amateurs..???

2em interogation

Je n'ai pas essayé de comprendre à quoi peut servir cette petite gymnastique.

Quand une personne me propose de m'aider pour mes fichier ,j'avance a petit pas...et selon les

propositions recu ...Merci pour les tiennes ,je les adaptes sur un fichier trop gros a poster 50 000 Ko--


Maintenant a propos du fichier present,il est super bien,la rien a dire,Merci super YES.

Mais pour facilités l'extractions des résultats obtenus je vais devoir faire deux macro???pour transferer

les pronos dans la pages pronos statistiques.

Donc voila pourquoi je te proposait le post 24.en une macros le transfert se feras.

Merci pour tout.

amicalement

Guido
 

job75

XLDnaute Barbatruc
Re : Classer les plus grosses valeurs negatives,et

Bonjour Guido, le forum,

Donc voila pourquoi je te proposait le post 24.en une macros le transfert se feras.

Au post #26 vous vouliez 2 boutons, mais si maintenant vous n'en voulez qu'un seul :

Code:
Private Sub CommandButton1_Click()
Classement 2
[A:P].Copy [R1]
Classement 5
End Sub

Private Sub Classement(col%)
Dim c As Range, i&, Nmoins&, Nplus&
Application.ScreenUpdating = False
For Each c In Intersect(IIf(col = 2, [B:B], [S:S]), Me.UsedRange.EntireRow)
'------
Next
End Sub
Fichier (7).

Bonne journée.
 

Pièces jointes

  • Classer selon le modele(7).xls
    68 KB · Affichages: 83

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…