VBA Tri ligne par ligne + tranposé horizontal en vertical

Je fais appel à vos services pour résoudre mon problème à l'aide d'une macro (fichier ci-joint)

Le résultat que je souhaite c'est de trier ligne par ligne de B2 à V2 par ordre alphabétique toutes les lignes ou la colonne A n'est pas vide.

Puis que ces lignes horizontales soient présentés de façon verticales (les cellules vides doivent disparaître)

La colonne A donne une série de nom et prénom, avec des virgules après avoir fait Données convertir et une mise en forme qui supprime les espaces inutiles par le biais d'une macro j'obtiens les noms dans les colonnes suivantes,

1 trier le tableau par ordre alphabétique sur la colonne "Usager à convertir" ne me donne pas ligne par ligne les noms dans l'ordre alphabétique (si cela aurait été possible dans ce cas pas besoin de faire un tri horizontal ligne par ligne)

D’où ma question sur une macro qui me ferai le tri horizontal de la ligne 2,3,... de la colonne B jusqu’à la colonne U.

A l'initial je n'ai que la conne A qui se présente comme ceci :

USAGERS A CONVERTIR

ROCH Brayan, EMBOUAZZA Islam,ROCH Brayan, EMBOUAZZA Islam,

EMBOUAZZA Islam, DUCASTEL Dylan, CHMIELEZKI NICOLAS,EMBOUAZZA Islam, DUCASTEL Dylan, CHMIELEZKI NICOLAS,

HUBERT TIMEO,

NOISIEZ LAQUAY Anais, SOW Aïcha, CHOUDJAYE Ranya,

ROCH Brayan,

CHMIELEZKI NICOLAS,

CHOUDJAYE Ranya,

LADENT Anastasya, BREUX Morgane, CHOUDJAYE Ranya, ROUSSEL-BEAUMARD Gwendoline,LADENT Anastasya, BREUX Morgane, CHOUDJAYE Ranya, ROUSSEL-BEAUMARD Gwendoline,

Je souhaiterais obtenir en résultat final sur une colonne les noms triés ligne par ligne.

La deuxième partie de transposition ne fonctionne pas car le résultat que je souhaite c'est dans la colonne Y par exemple les cellules B1,b2 si elle n'est pas vide, si elle est vide passez a la cellule c1,c2...

J'ai essayé de sélectionné le tableau et de faire F5, atteindre les cellules constantes copier mais il me met un message d'erreur : impossible d’exécuter cette commande sur des sélections multiples.

Merci par avance pour votre aide mais je n'y arrive pas de mon coté,

Est ce possible?,

Merci pour celui qui me trouvera la solution,

Cordialement.

41classeur1.xlsx (11.07 Ko)

Bonjour

Je ne suis pas sûr de bien comprendre.

Sur la feuille 2, tu devrais montrer les premières lignes du résultat que tu souhaites obtenir...

Bye !

le résultat que je souhaite est en colonne W

Merci de m'aider

Je vais essayer d'être plus clair :

en colonne A j'ai comme données des usagers , dans chaque cellule de cette colonne plusieurs noms apparaissent , séparés par des virgules.

Après avoir fait par macro données convertir, séparation point virgule j'obtiens les noms dans les colonnes B,C,D...

Mon problème c'est que je voudrais que chaque ligne de B jusqu’à U soit trier dans l'ordre alphabétique :

avec l'enregistreur de macro pour la ligne j'obtiens le code suivant :

ActiveWindow.ScrollColumn = 1

Range("B2").Select

ActiveWindow.ScrollColumn = 2

Range("B2:U2").Select

ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear

ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B2:U2"), _

SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("Feuil1").Sort

.SetRange Range("B2:U2")

.Header = xlGuess

.MatchCase = False

.Orientation = xlLeftToRight

.SortMethod = xlPinYin

.Apply

End With

End Sub

Je vousdrais que ce ceode se répéte jusqu'a ce que la colonne A ne soit pas vide .

Ensuite pour obtenir la colonne W , je ne sais pas comment faire pour obtenir les noms des lignes en colonne (voir mon fichier pour voir ce que je'aimerai obtenir).

Merci pour ceux qui me trouveront la solution

Un essai si j'ai bien compris. Te convient-il ?

Bye !

64classeur1-v1.xlsm (20.29 Ko)

Merci beaucoup pour ta réponse , c'est ce que je souhaitais à une différence prés :

serait il possible d'obtenir tous les noms sur une seule colonne (exemple colonne B) ?

Pourrais tu ensuite m'expliquer chaque ligne de ta macro?

Cordialement,

Bonjour

Comme ça ?

Bye !

26classeur1-v2.xlsm (20.84 Ko)

Bonjour,

Non le résultat que je souhaite c'est tous les noms de ton premier fichier mais sur une seule colonne : ci joint la liste que je souhaite sur le fichier joint.

Merci d'avance pour ton retour,

Cordialement,

Bonjour

Nouvel essai.

Bye !

67classeur1-v2.xlsm (16.99 Ko)

Bonjour,

Merci beaucoup c'est exactement ce que je souhaitais, bon le titre n'a plus rien a voir avec le résultat lol mais tu as bien simplifié les choses complexes

Bonne journée a toi !

Rechercher des sujets similaires à "vba tri ligne tranpose horizontal vertical"