Bonjour à vous tous,
Je suis nouveau dans ce forum, je ne connais pas forcément la manière pour décrire le problème mais j'ai pas mal feuilleté les forums et espère pouvoir trouver de l'aide et vous expliquer clairement mon problème.
J'ai les notions en VBA et j'essaye à chaque fois de résoudre mes problèmes tout seul mais la je n'arrive pas du tout et je ne sais pas comment faire.
J'ai sur mon fichier une base de données.
Sur cette même base de données, j'aimerai sur les colonnes B et C pour chacune des lignes, SI B x C > N alors il me copie la ligne et me l'insert juste en dessous de la ligne correspondante.
Pour le moment j'y suis arrivé à le faire en VBA.
La seule chose qui me manque c'est faire en sorte qu'il me soustrait le chiffre de la colonne B pour que lorsque je fais BxC il ne soit pas supérieur à N et faire attention que le chiffre de départ en colonne B soit répartie équitablement sur les lignes copiée et insérées. Si au départ j'ai un chiffre x que je retrouve la quantité exacte sur les lignes insérées et sur la ligne de départ.
Par exemple :
Une ligne quelconque qui correspond à B x C > N :
Cellule en B = 3
Cellule en C = 500
Cellule N = 1000
Si 3 x 500 > 1000
alors il va me créer une ligne avec
Cellule B = 2
Cellule C = 500
Cellule N = 1000
et une autre ligne avec
Cellule B = 1
Cellule C = 500
Cellule N = 1000
Il n'y a que la valeur de la cellule B qui est modifiée et répartie équitablement sur les autres lignes. Et la ligne originale en question ne soit plus existante ou bien si vous ne la supprimer pas, il faut juste que je ne me retrouve pas avec 3 lignes au lieu de 2 comme sur l'exemple. Au total j'ai 2 lignes identiques mais avec la cellules B répartie équitablement sur l'ensemble. Je précise que ce sont que des chiffres entiers.
J'illustre avec un autre exemple :
Une ligne quelconque qui correspond à B x C > N :
Cellule en B = 10
Cellule en C = 500
Cellule en N = 700
Si 10 x 500 > 700
alors il va me créer une ligne avec
Cellule B = 1
Cellule C = 500
Cellule N = 700
puis une autre ligne
Cellule B = 1
Cellule C = 500
Cellule N = 700
En tout il va me créer 10 lignes car à chaque fois il ne faut pas que B x C soit supérieure à N. Il me créer autant de ligne que nécessaire de telle sorte que B x C ne soit pas supérieur à N.
J'espère avoir bien été clair sur mes explications.
Je vous mets en copie mon fichier afin que vous puissiez voir le résultat attendu. Un onglet Base sur lequel le résultat devrait y être effectué et un autre onglet Résultat avec ce que j'attends que la macro fasse.
Je vous remercie par avance de votre aide à tous !!!
Maxime7
Je suis nouveau dans ce forum, je ne connais pas forcément la manière pour décrire le problème mais j'ai pas mal feuilleté les forums et espère pouvoir trouver de l'aide et vous expliquer clairement mon problème.
J'ai les notions en VBA et j'essaye à chaque fois de résoudre mes problèmes tout seul mais la je n'arrive pas du tout et je ne sais pas comment faire.
J'ai sur mon fichier une base de données.
Sur cette même base de données, j'aimerai sur les colonnes B et C pour chacune des lignes, SI B x C > N alors il me copie la ligne et me l'insert juste en dessous de la ligne correspondante.
Pour le moment j'y suis arrivé à le faire en VBA.
La seule chose qui me manque c'est faire en sorte qu'il me soustrait le chiffre de la colonne B pour que lorsque je fais BxC il ne soit pas supérieur à N et faire attention que le chiffre de départ en colonne B soit répartie équitablement sur les lignes copiée et insérées. Si au départ j'ai un chiffre x que je retrouve la quantité exacte sur les lignes insérées et sur la ligne de départ.
Par exemple :
Une ligne quelconque qui correspond à B x C > N :
Cellule en B = 3
Cellule en C = 500
Cellule N = 1000
Si 3 x 500 > 1000
alors il va me créer une ligne avec
Cellule B = 2
Cellule C = 500
Cellule N = 1000
et une autre ligne avec
Cellule B = 1
Cellule C = 500
Cellule N = 1000
Il n'y a que la valeur de la cellule B qui est modifiée et répartie équitablement sur les autres lignes. Et la ligne originale en question ne soit plus existante ou bien si vous ne la supprimer pas, il faut juste que je ne me retrouve pas avec 3 lignes au lieu de 2 comme sur l'exemple. Au total j'ai 2 lignes identiques mais avec la cellules B répartie équitablement sur l'ensemble. Je précise que ce sont que des chiffres entiers.
J'illustre avec un autre exemple :
Une ligne quelconque qui correspond à B x C > N :
Cellule en B = 10
Cellule en C = 500
Cellule en N = 700
Si 10 x 500 > 700
alors il va me créer une ligne avec
Cellule B = 1
Cellule C = 500
Cellule N = 700
puis une autre ligne
Cellule B = 1
Cellule C = 500
Cellule N = 700
En tout il va me créer 10 lignes car à chaque fois il ne faut pas que B x C soit supérieure à N. Il me créer autant de ligne que nécessaire de telle sorte que B x C ne soit pas supérieur à N.
J'espère avoir bien été clair sur mes explications.
Je vous mets en copie mon fichier afin que vous puissiez voir le résultat attendu. Un onglet Base sur lequel le résultat devrait y être effectué et un autre onglet Résultat avec ce que j'attends que la macro fasse.
Je vous remercie par avance de votre aide à tous !!!
Maxime7