Bonjour à tous,
Je suis nouveau ici et dans le monde du vba. Je n'ai jamais travaillé en vba avant ces dernières semaines mais vos réponses aux différentes questions d'autres personnes ainsi que mes cours de programmation en C++ datant de l'école d'ingénieur m'ont permis de sortir un bout de code qui fonctionne pas mal...
Je souhaite vous solliciter car mon problème dépasse largement la compréhension que j'ai du bout de mon code qui fait planter ma procédure automatique.
Je travaille sur un tableau de gestion de projet dans lequel sont regroupés plusieurs informations. Une interface de gestion me permet de gérer les nouvelles entrées ainsi que le tri. Jusque-là pas de soucis. Chaque projet peut en être à 5 phases différentes qui sont Ao, Projet, Négo, Commande et Perdu. Lorsque je créé un nouveau projet par le biais de ma macro de gestion, la ligne entière prend une couleur définie en fonction de la valeur de la case "Etat du projet". Jusque-là, tout fonctionne aussi.
Là où cela se corse, c'est que je souhaite lorsque je change manuellement la valeur de la case "Etat" que la couleur change aussi. J'ai réussi à le faire et cela fonctionne pas mal si ce n'est que ma première erreur (Erreur 13) apparaît dès lors que je copie colle des lignes venant d'un autre tableau. Cette erreur, je peux à la limite m'en accommoder car elle n'apparaîtra qu'à la mise en service du tableau.
Ensuite, pour aller plus loin, j'ai crée deux autres feuilles qui sont censées recevoir par un couper coller les lignes pour lesquelles je change la valeur d'état du projet en commande ou perdu sur la feuille 1. J'espère être assez clair jusque-là.
Si je fais cette procédure sur la dernière ligne remplie du tableau, pas de soucis, la ligne se transfère bien vers l'autre tableau. Par contre si je fais cela sur une ligne en plein milieu du tableau, elle se transfère bien mais j'obtiens une erreur 13 dès lors qu'elle est coupée du tableau de la feuille 1.
Je lance le débogage et j'obtiens une erreur sur : "" If Target.Value = "Commande" Then ""
Je pense comprendre l'erreur mais je suis incapable de la résoudre : Ma macro automatique compare la valeur de la case sélectionnée et agit en conséquence mais celle-ci étant coupée collée avec la ligne, la valeur de la cellule active change et fait planter la macro automatique. Je pense que ma première erreur est liée à la seconde car lors du copier coller, la valeur de la case active change aussi.
Pourriez-vous me venir en aide ?
Par avance merci de votre soutien !
Cordialement.
Partager