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

  • Initiateur de la discussion Initiateur de la discussion Hervé
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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é
 
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
 
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

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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
586
Retour