Trier avec une macro

Bonjour,
Je souhaiterai trier plusieurs cellules d'une même ligne, avec un tri automatique dès que l'on a validé la dernière cellule, et pour que le résultat soit placé à partir d'une autre celulle.
Je ne suis pas un pro de la programmation.

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,
    tu n'est peut-être pas "pro de la programmation" mais tu n'est pas non plus maître en explication.
    Donne plus de détails.
    Note: un peu de politesse serait aussi bienvenue.
    S'il vous plaît
    Merci
    Au revoir
    etc.
    Sont un plus si ont souhaite avoir de l'aide. !
    A+
    1. Désolé de t'avoir froisé
      voilà ce que je souhaite faire :
      A) j'ai 1.15 dans la cellule A1, 1.13 dans la cellule b1, 2.10 dans la cellule c1, 1.8 dans la cellule d1
      B) je souhaite effectuer un tri par ordre croissant de ces quatres valeurs pour que le résultat se positionne dans la cellule f1, après avoir rempli la dernière cellule.
      Peut-on répéter ce tri sur plusieurs lignes automatiquement

      D'avance un grand merci.
      1. Contributeur
        Le tri automatique ne fonctionne que sur des colonnes.
        Un code qui fait ce que tu à demandé.
        Clic droit sur l'onglet de la feuille >> Visualiser le code.
        Dans cette feuille tu colle.
        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim B As Boolean, R As Long, i As Integer, V As Double
            If Target.Count > 1 Then Exit Sub ' pour les sélection
          If Not Intersect(Columns(4), Target.Columns) Is Nothing Then
                Application.EnableEvents = False
                R = Target.Row: B = True
                While B
                    B = False
                    For i = 1 To 3
                        If Cells(R, i + 1) < Cells(R, i) Then
                            V = Cells(R, i): Cells(R, i) = Cells(R, i + 1)
                            Cells(R, i + 1) = V: B = True
                        End If
                    Next i
                Wend
                If R > 1 Then Cells(1, 6).Copy Cells(R, 6)
                Application.EnableEvents = True
            End If
        End Sub

        Ça devrais aller
        A+