vba : récuperer les données entre 2 lignes

H

Hervé

Guest
bonjour tout le monde

je récupère des données qui se trouvent sous cette forme :

-------------------------------------------
chantier : toto
N° 123456
Personnel : moi
-------------------------------------------
chantier : titi
N° 456789
Personnel : les autres
-------------------------------------------

je recherche une méthode (ou un fil) me permettant de récupérer les infos entre deux lignes de -------------- pour créer un onglet par chantier.

le nombre d'info est variable.

Merci d'avance pour l'aide que vous pourriez m'apporter.

chaleureusement
Hervé
 
B

BRUNO I

Guest
Bonjour Hervé
Pas simple ta demande.
Il faudrait peut etre déja par répérer les donnés qui se trouvent apres le caractère "N°" par un find et ensuite crée autant d'onglets que nécessaires.
La disposition de tes données est elle toujours ainsi ?

L'idéal serait de joindre un fichier exemple.

Cordialement
 
H

Hervé

Guest
re tout le monde

salut bruno

j'ai joint une pièce jointe.

je sais :
- récupérer les infos à l'intérieur d'une cellule
-faire une boucle pour alimenter mes onglets.

je ne sais pas :
boucler entre deux lignes pour récuperer les infos

te remerciant déjà de t'intéresser à mon problème.

les données sont nombreuses et variables

je renouvelle mes remerciments.

salut
hervé
 

Pièces jointes

  • Classeur4.zip
    6 KB · Affichages: 36
  • Classeur4.zip
    6 KB · Affichages: 39
  • Classeur4.zip
    6 KB · Affichages: 33
B

BRUNO I

Guest
Comme je le préssentais , c'est loin d'etre simple ca demande un tas de bidouille au niveau des chaines de caractères. C'est plutot long et assez fastidieux à faire.
En espérant que quelqu'un aura de meilleures idées.

Bruno
 
M

Michel_M

Guest
Bonsoir Hervé et Bruno

Ci dessous un bout de code qui gère les "entre 2 lignes" à insérer dans ta macro


Dim lig_fin As Long, anc As Long, lig As Long

'ligne fin des données
lig_fin = Range("A10000").End(xlUp).Row

lig = 1
Do While lig < lig_fin
anc = lig
lig = Columns(1).Find("-----", Cells(lig, 1), , , xlByRows).Row

' ta zone de travail se trouve dans ce domaine anc+1 et lig-1
'tu insères donc ici tes lignes de transferts vers toto, tata...


Loop
 

Discussions similaires

Réponses
5
Affichages
400
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 836
Messages
2 092 656
Membres
105 480
dernier inscrit
Galbius