Recherche et copie de lignes sur une même col

Résolu
MET31 Messages postés 6 Statut Membre -  
MET31 Messages postés 6 Statut Membre -
Bonjour,

Je suis en train de me prendre la tête aver un fichier excel sur lequel je dois récuperer et classer des informations.

Voici comment sont construites mes donnees dans une colonne sur une feuille :

Commentaire
Groupe1
Info1
Info2
Info3
Commentaire
Groupe2
Info1
Info2
Info3
Commentaire
Groupe1
Info1
Info2
Info3
Commentaire
Groupe3
Info1
Info2
Info3
...

Mon but est de rechercher la valeur groupe et copier les lignes Commentaire Groupe Info1 Info2 et Info3 sur une autre feuille.
Sachant que la valeur Groupe est plusieurs fois dans mes données et commentaires qu'info1 info2 et info3 sont différents a chaque fois.

exemple :
Groupe 1
Info1
Info2
Info3
Info1
Info2
Info3
Info1
Info2
Info3
Groupe2
Info1
Info2
Info3
Info1
Info2
Info3

Et biensur, je ne sais pas comment mis prendre.
Pourriez vous m'éclairer ?

Bien cordialement
Met31

11 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Peux-tu mettre un exemple de ton fichier sur www.cijoint.fr et dire également ce que qui permet de distinguer une ligne 'groupe' d'une autre.
Et dans ton exemple on ne voit plus les lignes commentaire...
eric
0
Raymond PENTIER Messages postés 71871 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
Tu pourras difficilement résoudre ton problème sans passer par BVA.
En effet ton fichier ne respecte pas les règles d'une base de données, ce qui rend impossible toute manipulation.
Au lieu d'empiler toutes tes informations à la queue-leu-leu dans une seule colonne, tu aurais dû profiter de la chance qu'Excel propose plusieurs lignes mais aussi plusieurs colonnes (et même plusieurs feuilles) dans un même classeur.
Ta base de données aurait pu se présenter ainsi :

-----|--A------------B--------------C--------------D---------E---------F---------G------
--1-|-N°---Commentaire----Groupe-----Inf1------Inf2------Inf3-----Inf4
--2-|-01--Commentaire1--Groupe1--Info11--Info21--Info31--Info41
--3-|-02--Commentaire2--Groupe2--Info12--Info22--Info32--Info42
--4-|-03--Commentaire3--Groupe3--Info13--Info23--Info33--Info43
--5-|-04--Commentaire4--Groupe2--Info14--Info24--Info34--Info44
--6-|-05--Commentaire5--Groupe1--Info15--Info25--Info35--Info45

La colonne A permet d'incrémenter la numérotation des enregistrements (comme la clé primaire d'Access, si tu connais).
La colonne C permet d'identifier le groupe, qu'on peut retrouver à plusieurs reprises (Groupe2 = enregistrements 2 et 4). En exécutant un tri sur la colonne C, tu rassembles les enregistrements concernant un même groupe, ce qui facilite l'extraction pour recopie dans une autre feuille.
0
MET31 Messages postés 6 Statut Membre
 
Eric voici le liens du fichier exemple : http://www.cijoint.fr/cij6300184835932.xls
dans ma seconde feuille le commentaire n'est pas nécessaire.
j'ai mis des couleurs pour aider a la compréhension mais bien entendu mes feuilles sont blanche.

Merci d'avance.
MET31
0
MET31 Messages postés 6 Statut Membre
 
Raymond, je n'ai pas eu ce choix car mon fichier initial est un script kix que je tente d'optimiser que j'ai convertit en fichier texte afin de tirer partie des fonctions de recherche d'excel.

Bien cordialement
MET31
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MET31 Messages postés 6 Statut Membre
 
En regardant ta solution Raymond, m'est venu une idée.
Peut on sous excel transferer de 7 en 7 lignes des lignes en colonne.

Je m'explique :

Ligne_1
Ligne_2
Ligne_3
Ligne_4
Ligne_5
Ligne_6
Ligne_7
Ligne_8
Ligne_9
Ligne_10
Ligne_11
Ligne_12
Ligne_13
Ligne_14
Ligne_15
Ligne_16

En

ColonneA ColonneB ColonneC ColonneD ColonneE ColonneF ColonneG
Ligne_1 Ligne_2 Ligne_3 Ligne_4 Ligne_5 Ligne_6 Ligne_7
Ligne_8 Ligne_9 Ligne_10 Ligne_11 Ligne_12 Ligne_13 Ligne_14
Ligne_15 Ligne_16

Car effectivement, ainsi je pourrai faire un trie et une recopie

Cordalement
MET31
0
Raymond PENTIER Messages postés 71871 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
Bien ! J'ai vu ton fichier. Je suppose que tu as un grand nombre de lignes, pour souhaiter automatiser ces manipulations ? Dans ce cas la solution que j'allais proposer ne te conviendra probablement pas, car elle nécessite beaucoup de saisies de formules dans une feuille vierge :
A1 =Feuil1!A1
B1 =Feuil1!A2
C1 =Feuil1!A3
D1 =Feuil1!A4
E1 =Feuil1!A5
F1 =Feuil1!A6
G1 =Feuil1!A7
Faire un copier/coller de A1:G1 dans les cellules A8, A15, A22 ...
Supprimer (ou masquer) les lignes vides 2 à 7, 9 à 14 ...

Je reconnais volontiers que ce n'est pas terrible ! Alors il faut compter avec nos amis utilisateurs de VBA ...
0
MET31 Messages postés 6 Statut Membre
 
Merci Raymond de ton investissement, en faisant comme cela effectivement j'obtiendrai des données manipulables a souhait.
Mais malheureusement comme tu l'a bien pensé je n'ai juste que 1600 Lignes dans mon script ... lol
Avis aux ames charitables VBA, peut on automatiser la solution a Raymond ?

C'est a dire copier A1:G1 et l'incrementer de 7 en 7

Autant, je connais bien les scripts (enfin je pense ... lol) par contre VBA et Excel houla ça fait longtemps que j'ai pas pratiqué.

Bien cordialement
MET31
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 450
 
Bonjour à tous
après ces fêtes de Noêl qui je l'espère se sont bien passées pour tous, peut être un débit de solution ci joint.
Je dis bien un début, car c'est trié, ça reste à classer et surtout, ça suppose que le pas des informations est régulier.
Je continue à plancher dans ce sens, mais sans doute quelqu'un va t il trouver de quoi amèliorer le résultat.
Bien cordialement à vous

http://www.cijoint.fr/cij52326799136052.xls
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 450
 
Pour prolonger ma tentative, voir ci joint second fichier surlequel j'ai détaillé l'opération de tri en trois phases:
1° phase 1, recherche des info relatives au titre selon la méthode du fichier précédent
2° Phase: numérotation des données par insertion des colonnes incrémentées C,E,F (ceal peut se faire dés le début
3° Phase: copier coller valeurs selues du tableau obtenu et classement par tri des données selon respectivement les colonnes C,E,F.
Ca n'est peut être pas la solution la plus simple, mais ça marche si, comme le dit MET 31, les données sont bien transférables de 7 lignes en 7 lignes. On peut affiner ensuite en fonction du fait qu'il faille ou non gardrer les lignes de coimmentaires.
BCRDLMNT

http://www.cijoint.fr/cij71382664236022.xls

PS:
après analyse du résultat recherché (objectif), et avec un petit temps de retard
pour éliminer les End If qui apparraissent à chaque groupe, deux solutions:
1° soit en phase 1: éliminer la ligne de Rcecherche correspondante avant l'incrémentation et laisser une ligne vide (soit ligne 6 de phase1 de mon exemple).... mais toujours incrémenter sur 7 lignes
2° soit modifier la formule de numérotation qui devient en phase 2, colonne C (C3) pour l'exemple
=si(B3="Endif";"";SI(ESTTEXTE(B3);MAX(C$1:C2)+1;"")), copiable dans les 3 colonnes et incrémentables sur toutes les lignes
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 450
 
Encore un petit rectficatif au PS ci dessus!(Décidemment, c'était fête hier!!!!)
La solution 1 pour éliminer les Endif est préférable, car la condition si="Endif" perturbe l'incrémentation en phase 3;
Avec mes excuses
BCRDLMNT
0
MET31 Messages postés 6 Statut Membre
 
Merci pour toutes vos explications.

Et bonne années a toutes l'équipe de comment ça marche.

Bien cordialement
MET31
0