Planning de tâches avec shapes

Bonsoir à tous, étudiant débutant en VBA, je dois réaliser un planning dynamique avec VBA et rencontre quelques problèmes : l'idée est, grâce à un bouton lié à un userform, d'entrer des tâches dans un tableau, et automatiquement à la création de chaque tâche, faire correspondre la date de début et de fin de chaque tâche sur une autre feuille par une shape.

Par exemple, si je rentre une tâche qui débute le 1er janvier 2015 et termine le 15 janvier 2015, la shape ira jusqu'à la moitié des cellules correspondant au moins de janvier 2015.

Le problème que je rencontre, c'est que lorsque je rentre une tâche, la shape ne se crée pas au bon endroit et va bien trop loin. La longueur de la shape correspond au nombre de jours entre début et fin de la tâche, mais elle ne se met pas au mois concordant.

Quelqu'un verrait-il une solution ?

Je laisse le fichier joint

En vous remerciant de vos réponses.

222td-excel.xlsm (41.23 Ko)

bonjour,

Mettre :

If ListBox1.Value = Range("Q2").Value Then
   Worksheets("Feuil1").Activate
   h = Range("C4").Height * 3
   w = Range("C4").Width * i / 7
   l = Range("C4").Left + (Range("C4").Width / 7 * 3) + (Range("C4").Width / 7 * j)
   t = Range("C4").Top

ActiveSheet.Shapes.AddTextbox...

A+

Merci de votre réponse, ça semble correspondre à ce qu'il me faut, mais pourriez-vous me dire comment vous en êtes arrivé à ce résultat ?

En vous remerciant,

Cordialement,

jonhza.

Bonjour,

La première chose est d'activer la Feuil1 avant de récupérer les dimensions de C4 car vous utilisiez les dimensions de C4 de la feuille "Inputs" qui étaient différentes.

Pour le reste c'est juste une question d'observation...

Range("C4").Left ...C'est le début du planning

+ (Range("C4").Width / 7 * 3) ...C'est le premier janvier car la semaine 1 commence le 29 décembre

+ (Range("C4").Width / 7 * j) ...C'est le nombre de jour effectif après le 1er janvier

A+

Rechercher des sujets similaires à "planning taches shapes"