Excel recopie données

Résolu/Fermé
Utilisateur anonyme - 9 janv. 2008 à 20:04
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 10 janv. 2008 à 06:59
Bonjour,

Je télécharge une nomenclature sur Excel qui me sert de base pour construire d’autres fichiers Excel avec des recherchev. Ce fichier me donne une liste de codes et leurs tarifs à facturer, chaque code ayant deux tarifs différenciés par type d’activité (activités 1 et 4).

Mon souci est dans la construction de cette nomenclature : pour chaque code qui n’est saisi qu’une fois sur une cellule, il y a plusieurs lignes de correspondance (extraction du fichier ci-jointe tel qu'il est mis à disposition sur le site, pour mieux comprendre mes explications) :
- Sur une ligne, pour chaque code (en colonne A), j’ai en face, dans les colonnes suivantes, le libellé (col. B), le code d’activité 1 (Col. C) puis le tarif (en colonne E).
- En dessous, pour le même code qui n’est saisi qu'une fois dans la colonne A, sur les lignes suivantes, j’ai le n° d’activité et le tarif dans les colonnes C et E correspondant au même code.

- Pour l’activité 1, je récupère bien le tarif car le code est toujours en face. Je fais un tri sur le code en colonne A (seuls les codes sur 7 caractères en rouge m’intéressent) et je ne conserve que les lignes avec le code, son libellé principal, activité 1 et son tarif pour construire mes autres fichiers et je m'en arrange.
- Mais pour l’activité 4, je ne peux faire aucun tri parce que le code n’est pas repris en colonne A. Faire un copier-coller est inenvisageable, car le fichier téléchargé est gros (27 000 lignes environ) et fait l’objet de mises à jour régulières.
Or, je voudrais faire la même chose sur les deux activités.

Ma question : Est-ce qu’il y a un moyen de demander à excel, sur une colonne rajoutée, de recopier le code sur les lignes en dessous tant qu’il ne rencontre pas un nouveau code, et ce pour chaque code. A titre indicatif, les codes en rouge sont toujours sur 7 positions.
Je pourrai ainsi pour cette activité 4 faire des tris sur le code et l'activité et construire par la suite mes fichiers. J’ignorerai le libellé et ses commentaires, le principal pour moi étant de marier le code, son type d’activité et son tarif et je mettrai la version entière en lien pour consultation des libellés.

Désolée pour l’exposé obscur et ardu, mais ce n’est pas facile à expliquer. Le fichier devrait vous aider à comprendre.
Merci d’avance si vous avez une solution.

http://www.cijoint.fr/cij109806924852.xls
A voir également:

5 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
9 janv. 2008 à 20:42
Bonsoir Argixu,

Insère une colonne A et en A2 saisis =SI(D2=1;B2;A1)
et tu recopies vers le bas.
Ca correspond à ce que tu veux ?
Comme point de repère j'ai pris l'activité à 1 plutôt que la longueur du code à 7. C'est plus sûr ?
Si oui, pense à faire un 'copier / collage spécial valeur' sur la colonne A

eric
0
Utilisateur anonyme
9 janv. 2008 à 21:52
Bonsoir Eric,

Merci pour ta réponse. Ta petite formule est impeccable et je vais pouvoir tricoter cet horrible fichier dans tous les sens maintenant. Et dire que ça fait des mois que je mets ce problème de côté parce que je craignais de soulever un truc compliqué.

Je l'ai testée sur ma nomenclature version complète. Et sur les 27500 lignes, je récupère bien et je n’en ai que 10 (lignes 14 à 31 sur l'extraction ci-jointe) où j’ai un 0 qui s’affiche et je ne vois pas pourquoi. C’est vrai qu’il y a un code activité 2 et 5. Mais j’ai d’autres lignes avec ces codes-là où la récup a bien marché. Donc ce n’est pas ça. Ca t’ennuie de regarder ? Si galère, laisse tomber, pour 10 lignes je le ferai à la menotte. C’est déjà super que j’ai 99,99 % de bon !!

Grand merci Eric.


http://www.cijoint.fr/cij1145046491845.xls
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
9 janv. 2008 à 23:13
Re,

Donc l'activité à 1 sur la même ligne n'est pas plus sûr, désolé...

Voici avec ton idée de départ : longueur de 7, que je complète avec le 1er caractère différent de [
=SI(ET(NBCAR(B2)=7;GAUCHE(B2;1)<>"[");B2;A1)

Et si ton code commence toujours par D ceci sera encore plus sûr :
=SI(ET(NBCAR(B2)=7;GAUCHE(B2;1)="D");B2;A1)

Regarde si c'est suffisant ou s'il y a d'autres façon de valider le code en complément

Bonne soirée
eric
0
Utilisateur anonyme
9 janv. 2008 à 23:58
Eric,
Donc c’était lié au numéro de code activité. Tu ne pouvais pas savoir, je n’en avais mentionné que 2 quand j’ai annoncé mon problème. Mais bizarre, sur d’autres lignes avec code 5, la 1ère formule marchait bien.

Avec cette formule (plus que mystérieuse pour moi !), la 1ère car codes de A à Z, tout est nickel.

Merci encore pour ton aide vraiment précieuse et toujours aussi efficace.
Bonne nuit à toi.
0

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

Posez votre question
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
10 janv. 2008 à 06:59
En fait dans la 1ère formule je recopiais le code dès que je rencontrais l'activité 1 et je le conservais jusqu'à l'activité 1 suivante où il changeait.
Si tout est ok maintenant tant mieux :-)
Bonne journée
eric
0