Mise en ligne de données en colonne

Bonjour à tous, je suis béotien en vba et cherche depuis déjà quelques jours pour mettre en ligne des données extraites en colonne par un ocr.

Ma difficulté est que le "range" de data est variable mais toujours séparé par une cellule vide :

Mon extraction a cet aspect :

Mr X

Matricule 12

Mme Y

Matricule 24

Congés 32

Mr Z

Matricule 45

Congés 22

Pris 3

Et j'ai besoin de ce format (sur plusieurs colonnes, noms sous les noms, matricules sous matricules,...) pour l'analyser en tableau croisé dynamique :

Mr X Matricule 12

Mme Y Matricule 24 Congés 32

Mr Z Matricule 45 Congés 22 Pris 3

Avez-vous une solution ? je pense que ce n'est pas simple mais possible. Merci à vous.

Bonjour,

à tester,

Sub test()
deb = 1
For n = deb To Cells(Rows.Count, "A").End(xlUp).Row + 1
 If Cells(n, "A") = "" Then
    d = deb
    f = n - 1
    col = Cells(1, Columns.Count).End(xlToLeft).Column + 1
    Range(Cells(1, col), Cells(n - f + 2, col)).Value = Range(Cells(d, 1), Cells(f, 1)).Value
    deb = n + 1
 End If
Next
End Sub

re,

une autre possibilité,

Sub test()
Dim deb As Long, fin As Long, n As Long, col As Integer, plg As Range
fin = Cells(Rows.Count, "A").End(xlUp).Row
deb = 1
For n = 2 To Cells(Rows.Count, "A").End(xlUp).Row + 1
 If Cells(n, "A") = "" Then
    col = Cells(2, Columns.Count).End(xlToLeft).Column + 1
    Set plg = Range("A" & deb & ":A" & n)
    Cells(1, col).Resize(plg.Count) = plg.Value
    deb = n
 End If
Next
End Sub

Bonjour,

En complément de la proposition de i20100, une proposition Power Query (récupérer et transformer) avec Excel 2016.

Cdlt.

Vous êtes des fous !!! Grand merci, vos propositions ne sont pas loin de la perfection. (je vais creuser la solution du powerquery mais le VBA de i20100 marche nickel)

Juste une difficulté d’organisation de données, que vous devriez pouvoir résoudre, je remets en pj une partie de la base source et de la présentation recherchée.

Dernière interrogation (et pas la moindre), mes données s'étalent jusqu'à la cellule A 48171, je crains qu'excel me contraigne à découper cette colonne. Ca a fonctionné nickel pour une partie mais je n'ai pas pu appliquer la macro sur le classeur source (format XLSM pourtant)

Encore merci.

Bonjour,

Il n'y a pas d'intitulés pour les champs !?

Une colonne A, avec date, Nom, etc...

La colonne B pour les valeurs....

Cdlt.

ce serait la cerise sur le gâteau, je comptais les ajouter à la main. (date / nom/ montant1 / montant 2 / montant 3 / jours1 / montant 3 / jours 2 ) et les réorganiser (date / nom / montant 1,2,3 / jours 1, 2) en "nettoyant" les formats montant (faire sauter le . au milieu et le vocable euros

la seconde cerise aurait été de supprimer les lignes intermédiaires qui ne rassemblent pas toutes les valeurs (incomplètes en terme d'infos). (exemple en lignes 13 ou 23).

Mais cela pourrait compliquer la lecture du code et vu mon faible niveau de vba si je dois bricoler...

Rechercher des sujets similaires à "mise ligne donnees colonne"