Trier un grille

Bonjour,

je voudrais trier automatiquement les colonnes dans la grille

merci de votre réponse !

9essai.xlsm (10.37 Ko)

Bonjour,

Tu avais déjà posé ce type de question

A tester

11essai-2.xlsm (17.93 Ko)

Bonjour

Tu veux le tri mais a partir de quelle colonne?

Cordialement

Bonjour,

Ceci (fait un tri la colonne sélectionnée):

Je renvoie le fichier dans un moment je l'ai écrasé par mégarde

Cdlt

Bravo ARTURO

Même nom de variable,

même retour à la ligne

même espace

Il y avait une chance sur 1 million de faire une macro identique à la mienne

Champion

Ton classeur

je me suis mal exprimé,

la colonne b15 est la suite de a15 et la colonne c15 est la suite de b15,

c'est a dire que la colonne ferait A 45, mais pour avoir moins haut, je l'ai partagé en trois

Oui, mais là tu t'exprimes encore mal, je n'ai rien compris

mais si les colonnes B et C se trouvent à la suite de la colonne A

il suffit dans la macro de modifier

Col = ActiveCell.Column

par

Col = 1

Voilà ma proposition

non le trie pas sur chaque colonne, car elles se suivent

1essai.xlsm (11.23 Ko)

Dans ma proposition, le tri ne se fait que sur la colonne ou vous saisissez un nouvelle valeur

Re,

si les trois colonnes sont remplies jusqu'à la ligne 15, on recommence une colonne en D, ou on continue en ligne 16

voir mon tableau si c'est plus compréhensible

4essai.xlsm (10.53 Ko)

Re,

Oui mais tu n'as pas répondu

si tu as plus de 3 * 15 données, que fait-tu

tu rajoutes une colonne en D ou tu continues à la ligne 16 sur trois colonnes

oui je rajoute colonne D

Re,

Bon je pense avoir compris ta demande

Il est préférable d'ajouter en A16

A tester

2essai-2.xlsm (22.25 Ko)

oui bien vu mais ton code manque quelque chose ou un rajout

car ça reste sur sélectionne A45 à la fin

Essayez ceci:

Private Sub Worksheet_Change(ByVal Target As Range)
    Derlig = Range("A" & Rows.Count).End(xlUp).Row + 1
    If Not Intersect(Target, Range("A1:A" & Derlig)) Is Nothing Then
        On Error GoTo Sortie
        Application.EnableEvents = False
        DerCol = Range("ZZ1").End(xlToLeft).Column

        Range(Cells(1, "A"), Cells(Derlig + 1, "A")).Sort Cells(1, "A"), 1
        Part = Int(Derlig / 3)
        C = 3
        For i = 1 To (Part * 2) + 1 Step Part
            Range("A" & i & ":A" & i + Part - 1).Copy Cells(1, C)
            C = C + 1
        Next i
    End If
Sortie:
    Application.EnableEvents = True
End Sub

Re reprends le dernier fichier mis en place

6essai-2.xlsm (22.25 Ko)

oui merci c'est très bien ainsi

bonne journée

Bonsoir à tous,

Message pour M12,

Non , je n'ai pas fais le même fichier, j'avais déjà préparé une solution, mais au moment de la posté j'ai vu que vous aviez déjà répondu, alors pour m'assurer que nos propositions étaient différentes, j'ai ouvert votre fichier et comme ce n'était pas la même approche je me suis décidé à répondre, seulement au lieu de coller mon fichier, j'ai recollé le votre. Voilà pourquoi vous avez retrouvé strictement la même chose.

Mille excuses l'ami pour cette bévue.

Cdlt

Rechercher des sujets similaires à "trier grille"