Smart Reconstitution de Lignes Manquante

Mesdames et Messieurs du Forum mes salutations distingués

Je sollicite votre savoir faire et sérieux pour porter une solution au cas présent.

En effet j'ai un générateur de fichier sur le quelle je n'ai pas la main et qui me remonte des bugs récurrents que je voudrai remouliner

grâce à l'outil Excel2007.

Le Bug consiste à remonter une valeurs à 0 (Zéro) donc pas d'arboresscence sur la constitution de mes lignes, d'ou le besoins de le reconstituer intelligement et il y a des indices qui me permettent de le faire manuellement mais que je voudrai automatisé.

J'ai un bout de code qui fonctionne mais il n'est pas parfait !!!!!!!

[size=50]Sub complete0()

[/size]

En effet ce code est censé pour chaque colonne C = 0 de me reconstitué les Lignes Manquante

Exemple Ligne 5242 du fichier Datas ci-joint

TITUS 0 0 3410 LIGN5241 29/1/18 5:22 AM PAR06 POLY03AE SOPRILPOLY03AE 1 [b]25

[/b]

Il yaurai du avoir 25 lignes et il n'en crée qu'une

Exemple Ligne 16816 du fichier Datas ci-joint

TITUS 0 0 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

Il yaurai du avoir 22 lignes et il n'en crée qu'une

Pour la création de lignes ?

Exemple Ligne 16816 deviendrai

TITUS 0 0 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 1 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 2 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 3 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 4 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 5 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 6 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 7 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 8 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 9 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 10 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 11 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 12 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 13 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 14 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 15 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 17 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 20 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 21 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 22 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 23 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 24 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

TITUS 0 25 8995 LIGN16816 26/2/18 7:48 AM BVR01 CHECKVBWZ PRMCHECKVBWZ 1 22

En gros il va piocher dans les lignes du bas complet = strictement à 22 si contenu colonne D différent

Merci par avance de votre contibution et support

Bien cordialement

8datas.xlsb (455.59 Ko)

bonjour

je n'ai rien compris

"Le Bug consiste à remonter une valeurs à 0 (Zéro) donc pas d'arboresscence sur la constitution de mes lignes"

par exemple, c'est une phrase bien obscure...

joins un fichier simplifié de 3 colonnes et 10 lignes et le résultat attendu

à te relire

Bonjour JMD et Merci

Ci joint un nouveau fichier

Datas de départ , et un autre Onglet Résultat escompté.

Conditions de reconstitution de Ligne

Si sa Colonne C=0 et que la valeur de sa colonne D de la ligne suivante est différente alors on recupere X fois les valeurs existante de sa colonne L

En clair :

Ligne 2

C2=0 D2 différent de D3 (Condition Remplie) Donc je lis L2=25

Donc je recrée 25 fois la Ligne2 en m'aidant d'un bloc Existant de 25 lignes (ici Ligne8 a Ligne32)

Ligne 3

C3=0 D3=D4 (Condition non remplie) Pas de traitement

Ligne 33

C33=0 D33 différent de D34 (Condition Remplie) Donc je lis L33=25

Donc je recrée 25 fois la Ligne33 en m'aidant d'un bloc Existant de 25 lignes (ici Ligne85 a Ligne106)

Ligne 263

C263=0 D263 différent de D264 (Condition Remplie) Donc je lis L263=9

Donc je recrée 9 fois la Ligne263 en m'aidant d'un bloc Existant de 9 lignes (ici Ligne286 a Ligne294)

Ligne 264

C264=0 D264=D265 (Condition non remplie) Pas de traitement

...... Tant que colonne C=0 on continue le traitement

En espérant avoir était clair. Sache que j'ai joint la macro qui n'est qu'un début ....et qui fait en partie le Taf si tu appuyes sur le bouton rouge.

Par Avance Merci

9raptor1.xlsb (64.07 Ko)

ree

OK, compris ! mais je ne sais pas faire

mais...

si tu as besoin d'insérer des lignes sous condition, c'est que tu veux en faire des traitements ultérieurs

dès lors, au lieu de créer des lignes identiques, il est possible de donner plus de poids aux lignes sous condition (au lieu de créer 25 lignes on multiplie par 25 les valeurs de la lignes qu'on devait recopier avant de faire des agrégats)

amitiés

Merci JMD,

Exact il y a un gros traitement aprés qui est presque fonctionnel mais qui ne pose pas de problème pour l'instant.

Seul mes lignes manquantes que j'expose dans ce post est actuellement un frein.

si une idée te vient sache que je suis preneur, et si quelqu'un du Forum a une idée pour me donner un coup de pouce ça serait

pour moi une aide précieux et par avance MERCI !!!!!

cordialement

JMD bonjour,

J'aurai une suggestion :

si C=0 et si colonne L = 25 on créer automatiquement 25 lignes 1-25

si C=0 et si colonne L<25 on laisse une intervention humaine qui sélectionnerai avec la souris la plage voulu

que l'on validerai par Ctrl+Espace pour que la macro continu sur le prochain C=0 ainsi de suite .....

Bien cordialement

re

power query est capable de créer des lignes (on passe en paramètres le nombre et le contenu)

https://docs.microsoft.com/en-us/powerquery-m/table-insertrows

mais ça demande quelques essais que je n'ai pas trop le temps de faire

tu te lances ?

Bonjour,

@ jmd,

Power Query disponible pour Excel 2007 ?

Cdlt.

argh !

j'oublie qu'il y a des Excel de l''an 40, d'avant les smartphones

moi qui débute dans les Power Apps et Microsoft Flow !

@ barachoie,

si tu ne disposes que la version 2007, alors il te faut VBA

je te conseille de trouver au moins un 2010 ou 2013

amitiés à vous

Merci !!!!

Je vais tenté d'acquérir la dernière version d'Excel mais pas avant que le père Noël ne passe.

Dommage Je met ce projet en standby faute d'avoir un Excel 2007 compétitif.

Cordialement les gars

Une Question : Est ce que

Libre Office - Une alternative à Microsoft Office Word, Excel 2003, 2007, 2010, 2013

Ferait l'affaire en terme de compatibilité ?

(Je suis comme on dirait un travailleur pauvre ou je compte mes dépenses car j'ai eu le malheur de me prêter caution

pour un ancien ami, je ne regrette pas ma bonne action mais côté portefeuille énorme trou)

Par avance Merci de votre réponse toujours avisée et constructive

Rechercher des sujets similaires à "smart reconstitution lignes manquante"