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
Configuration: Windows XP
Internet Explorer 6.0

11 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    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
  3. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    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
  8. 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
  9. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  10. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  11. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  12. 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