Voici une solution sans VBA. Je la recommanderais, s'il s'agit de quelque chose de plus rare qu'une tâche mensuelle.
Voici comment configurer vos données - notez que les colonnes A-D sont les "nouvelles colonnes".
Voici les formules - installez-les sur la ligne 2, puis copiez-les vers le bas :
A2=IF(ISBLANK(F2),INDEX(J:J,ROW()-COUNTIF(F:F,"*")+1),F2)
B2=IFERROR(T(VLOOKUP($A2,$F:$H,2,FALSE)),"")
C2=IFERROR(T(VLOOKUP($A2,$F:$H,3,FALSE)),"")
D2=IFERROR(T(VLOOKUP($A2,$J:$K,2,FALSE)),"")
A2
remplit tous les noms de votre tableau d'activités actuel, jusqu'à ce qu'il obtienne des cellules vides. Ensuite, vous commencez à remplir les noms de votre nouveau tableau d'activités, en utilisant la méthode suivante COUNTIF
pour obtenir le nombre de cellules non vides et ROW
y +1
pour obtenir le bon INDEX
/ Nom.
Il ne vous reste plus qu'à faire des recherches séparées pour vos activités.
Comme vous le voyez, vous obtiendrez des doublons, mais ils peuvent être facilement traités. Je vous suggère de copier les zones A à D en tant que valeurs vers une autre destination, puis d'utiliser la gomme intégrée pour les doublons de l'outil de création de fichiers. données onglet.
Bien sûr, vous pourriez le faire avec VBA, mais il s'agit souvent d'une tâche effectuée par des utilisateurs inexpérimentés - et pour créer une version dynamique sûre pour l'utilisateur, il faut beaucoup de code et beaucoup plus de détails. Cependant, je tiens à vous rappeler qu'il s'agit d'une tâche de base de la base de données, et qu'elle peut être réalisée beaucoup plus facilement avec les fonctions de la base de données.