VBA - Insertion de ligne sous conditions

Bonjour à tous,

J'aimerais réaliser une macro VBA me permettant d'insérer une ligne de compte dans un tableau (onglet Sheet 1), à partir d'une interface (onglet Admin) dans laquelle l'utilisateur renseignerait 3 données (fichier exemple joint).

Les 3 données à renseigner par l'utilisateur sont: Account Code, Code CC et Parent. À partir des deux dernières données, la macro doit être capable de positionner la ligne de compte exactement au bon endroit dans le tableau. Je vous explique comment:

Code CC est la donnée renseignée en colonne D et permet donc d'identifier une plage potentielle où placer la ligne, car les différentes lignes qui correspondent à des comptes, sont regroupées par Code CC. On a d'abord les CC65, puis les CC1065, CC1115, CC1070.

Parent va permettre d'identifier la ligne exacte de cette plage, où placer la nouvelle ligne de compte. La donnée Parent est en fait le compte "parent" du nouveau compte que l'on va insérer. Tous les comptes parents correspondent aux lignes en gras dans le tableau. Les "parents" ne sont pas uniques dans le tableau mais le sont en revanche pour un "Code CC" donné! D'où l'importance de cette donnée. La macro rechercherait donc au sein de la plage identifiée grâce au CC, la ligne du compte parent renseignée par l'utilisateur avec Parent ; et insérerait la nouvelle ligne juste au dessus de son "parent". Dans cette nouvelle ligne devra figurer:

En colonne B: Account Code

En colonne D: Code CC

En colonne F: "No"

En colonne H: "B"

En colonne I: "N"

Voilà, j'ai essayé de formuler au mieux ce que je souhaitais faire, en espérant que ce soit clair. Mon tableau s'étale sur 12000 lignes et non 468 mais le principe est le même. J'ai quelques connaissances VBA, notamment pour comprendre un code ou en créer un succinct, mais l'ampleur du chantier ici, me semble trop important. Si quelqu'un aurait une réponse à m'apporter, même partielle, ce serait génial.

Je vous remercie d'avance,

SkillzZ

Bonjour

Tous les comptes parents correspondent aux lignes en gras dans le tableau. Les "parents" ne sont pas uniques dans le tableau mais le sont en revanche pour un "Code CC" donné!

Poutant, si on regarde les codes CC65, en début de tableau on en plusieurs en gras : lignes10, 11,14, 22 etc...

Lequel faut-il retenir ?

Bye !

Salut SkillzZ, gmb,

dis, camarade, ce serait plus pratique de condenser les infos de ta demande dans un seul fil plutôt qu'en éditer plusieurs!

A+

Bonjour à tous,

Effectivement j'ai un double poste car je n'avais pas de réponse sur celui-ci.. Désolé! Je mets résolu sur celui-ci et vous renvoie vers "VBA - Création d'une interface pour insertion de ligne".

Mais pour répondre à Gmb, oui il y a plusieurs parents au sein du code CC65. Mais chaque parent qui existe au sein de la plage CC65, est unique. Pour exemple: le parent PL10103T peut apparaître plusieurs fois dans le fichier mais une seule fois avec CC65, une seule fois avec CC1065, une seule fois avec CC1115, etc... Mais oui il y a plein de parents différents au sein de CC65.

Merci bcp pour votre aide messieurs !

Bonjour

Bonjour à tous

Désolé mais ce n'est pas clair

Tu devrais donner un (ou deux) exemples...

Bye !

Merci pour ta réponse Gmb, je m'en suis sorti de mon côté. Je te remercie pour ton aide et essaierai d'être plus clair la fois prochaine!

Un essai, si j'ai bien compris...

Bye !

Bonjour Gmb,

c'est exactement ça.. Mais je suis incapable de comprendre ton code, ni de savoir dans quel ordre les Private sub s'executent si elles s'executent bien toutes, et lorsque je quitte ton code je suis aussi incapable de le retrouver ! Ta solution est parfaite mais tout ce que j'ai cité au dessus m'empêche entre autre de continuer à travailler à partir de cette base solide.

Merci pour ta solution en tout cas et le temps que tu as pris !

SkillzZ

je suis incapable de comprendre ton code

Ci-joint le même document avec macro commentée.

lorsque je quitte ton code je suis aussi incapable de le retrouver !

Pour voir les codes, il faut taper simultanément sur les touches Alt et F11

Quand tu cliques sur le bouton bleu, tu déclenche l''exécution de la macro qui affiche la boîte de dialogue.

A cette boite de dialogue sont rattachées plusieurs macros qui sont sur une autre feuille et qui se déclenchent à leur tour dans les conditions que j'ai précisé en commentaires verts.

mais tout ce que j'ai cité au dessus m'empêche entre autre de continuer à travailler à partir de cette base

Mais pourquoi donc ?

Bye !

- Merci pour le retour gmb ! Pour ce qui est de l'affichage des macro, je faisais bien Alt + F11 mais je ne parvenais pas à retomber dessus (J'y ai accès seulement la première fois en fait, si je ferme l'espace VBA, impossible de remettre la main dessus). Mais je vais réessayer avec ton nouveau fichier.

- C'est vraiment top pour les commentaires ! Je vais jeter un coup d'oeil au plus vite mais pas sûr que je puisse le faire avant Lundi!! Merci beaucoup en tout cas, c'est vraiment généreux !

- Je vais m'accrocher, les commentaires vont peut-être changer la donne !

++

SkillzZ

Rechercher des sujets similaires à "vba insertion ligne conditions"