Compter automatiquement des "paquets" de lignes

Bonjour à tous,

j'ai l'habitude de toujours me décarcasser pour résoudre mes soucis Excel tout seul (et à vrai dire j'aime bien çà) mais là je suis sur un os, je viens donc quémander votre aide !

En fait, ce sont des coordonnées X,Y (décimales avec un point, à l'anglaise).

Ces coordonnées sont par paquets, de taille aléatoire (parfois il n'y a que 5 ou 6 lignes, parfois 200).

Ces paquets sont très nombreux (+ de 2000) et sont séparés par des zones vides de taille variable (parfois un seul retour à la ligne, parfois beaucoup plus comme dans l'image).

J'ai besoin d'écrire, de façon automatique (car avec + de 2000paquets je ne peux pas le faire manuellement), au sommet de chaque paquet, la chose suivante : "Nombre de lignes du paquet, 1".

Voici un exemple du fichier que je cherche à obtenir:

4,1

X1.xxxxxx,Y1.yyyyyyy

X2.xxxxxx,Y2.yyyyyyy

X3.xxxxxx,Y3.yyyyyyy

X4.xxxxxx,Y4.yyyyyyy

2,1

X5.xxxxxx,Y5.yyyyyy

X6.xxxxxx,Y6.yyyyyy

3,1

X7.xxxxxx,Y7.yyyyyy

X8.xxxxxx,Y8.yyyyyy

X9.xxxxxx,Y9.yyyyyy

Il faudrait donc pouvoir, dans excel, rechercher chaque cellule précédent chaque paquet (déjà je bute là dessus) ; ensuite mettre dans cette cellule une formule qui calcule le nombre de lignes jusqu'à la prochaine ligne vide, et qui affiche ce nombre avec un ",1" à la suite (bon ça à la limite il suffit de rajouter +0.1 au chiffre et ça marche).

Je me suis creusé la tête mais je n'ai pas trouvé. Pensez-vous que ce soit possible avec excel ?

J'ai mis 5 jours de travail non stop pour acquérir ces chiffres, et ce foutu logiciel (Surfer 9.0) à besoin de ces entêtes de paquets pour lire les données.... j'espère que je vais y arriver sinon j'aurai méchamment les nerfs....

Un grand merci d'avance pour votre aide, c'est chouette d'avoir créé un forum pour aider les gens comme ça !

Sylvain.

Bonjour,

j'ai considéré que tes données étaient en colonne A et que la ligne1 était vide

essaies cette tite macro

Sub compter_paquets()
Dim derlig As Long, lig_fin As Long, lig As Long

derlig = Range("A65536").End(xlUp).Row
lig_fin = 1
Application.ScreenUpdating = False

While lig_fin < derlig
    lig = Columns(1).Find("*", Cells(lig_fin, 1), xlValues).Row
    lig_fin = Columns(1).Find("", Cells(lig, 1), xlValues).Row
    Cells(lig - 1, 1) = lig_fin - lig +0.1
Wend
End Sub

edit: j'avais oublié le +0,1 !

Bonjour

Je suis ce qu'on appelle une "bille" en VBA, donc ne cherche pas le Code VBA.

Je sais que certains pensent que ce Code est d'un autre temps, mais, si cela peut te dépanner.

C'est une XL4 qui inspirera probablement les "VBAistes" pour te trouver la solution.

ton énoncé n'est pas extrémement clair concernant les transformation, donc j'ai interprété ton X1.xxxxxx,Y1.yyyyyyy

X2.xxxxxx,Y2.yyyyyyy

avec un X1.x.xxxxxx,Y1.y.yyyyy

Mais cela peut se modifier. Je finaliserai la Macro si besoin, dans la mesure ou la solution VBA n'est pas arrivée et ou tu es intéressé.

Suuuuupppeeeeeeeeerrrr !!!

La première macro de michel_m marche parfaitement !! Exactement ce que je voulais !!

Je testerai ta solution Amadéus, mais plus tard car là j'ai du travail sur mes précieuses données enfin exploitables !!!

Un grand merci à vous 2 !!

Rechercher des sujets similaires à "compter automatiquement paquets lignes"