XL 2010 Boucle VBA sur colonnes aléatoires

Blop

XLDnaute Nouveau
Bonjour à tous

Tout d’abord je tiens à remercier les membres qui m’ont déjà aidé par le passé sur ce forum ^^
J’ai besoin à nouveau de votre aide sur la construction d’une ou plus boucles sous vba,

Le but est de rapatrier 3 colonnes en fonction d’un statut de tâche « en cours », tout ça pour alimenter un gantt


J’ai un export de données qui est organisé toujours de la même manière par bloc de 5 colonnes avec des dates de début et date de fin
1 colonne verte = nom de la tache
4 colonnes bleues pour les dates de début et de fin :

1ere colonne : date de debut previsionnelle
2 ieme colonne : date de fin previsionnelle
3 ieme colonne : date de début réelle
4 ieme colonne : date de fin réelle

Ce bloc de 5 colonnes est repeté sur 10 tâches de temps pour chaque code article

Le statut de tache qui fait référence pour retrouver les dernieres dates est « En cours » sauf que cette notion de statut bouge dans les 10 jalons (colonnes vertes) suivant l’avancée du dossier :(

Le but serait de retrouver dans 4 colonnes (colonnes jaune à la fin) : le statut (sera tjrs égale à En cours), et le nom de la dernière tache (nom de la colonne en ligne 1 sur la colonne En cours), la date de début, la date de fin.


Le statut de la tâche peut avoir 4 valeurs :

- Non initialisée
- En cours
- Terminé
- Vide


Statut "En cours ":

Pour faire simple j’avais pensé partir de la derniere colonne et remonter le temps afin de tomber sur la derniere tache qui affichera « En cours »

1) Partir de la derniere colonne AU afin d’avoir la derniere statut de la tache = « En cours »
2) Remonter vers la gauche et la recherche s’arrête quand le 1er statut trouvé est = « En cours »
3) Une fois positionné sur la colonne identifiée « En cours », récupérer dans les 3 colonnes jaunes
a. Recupérer le Nom de la cellule verte
b. Si 4ieme colonne = vide alors date de fin = 2ieme colonne et date de début = 3ieme colonne
c. Si 4 ieme colonne <> vide alors date de fin = 4 ieme colonne et date de début = 3ieme colonne

Statut Terminé & Non initialisée

4) Si colonne B =statut Terminé ou Non initialisée alors ne pas prendre en compte

Voili c'est un peu long mais j'ai essayé de détailler un maximum afin de faciliter la compréhension

Merci beaucoup pour votre aide :D

Blop
 

Pièces jointes

  • boucle sur tâche.xlsx
    1.7 MB · Affichages: 7

Discussions similaires

Haut Bas