LeSaintKebab
XLDnaute Nouveau
Bien le bonjour tout le monde, je suis nouveau ici (ainsi qu'en VBA à vrai dire) et j'aurais besoin d'un peu de votre précieux temps si vous l'acceptez bien entendu !
Alors commençons par la situation actuelle...
Je reçois de manière hebdomadaire un fichier Excel reprenant tout un tas de données sur des milliers de lignes et des dizaines de colonnes.
J'ai mis en place un début de VBA qui cantonnent les données utiles à quelques centaines de lignes et à un peu moins de vingt colonnes, pour cette partie, ça va comme je veux
A noter également que je travaille sur deux feuilles "Tasks" et "Tasks (2)" ouvertes dans un même classeur et dont la structure (nombre de colonnes et type de valeur dans les cellules) est identique mais pas le contenu (nombre de lignes et valeur dans les cellules).
Ensuite, mes "connaissances" limitées m'empêchent d'aller au-delà (je ne sais même pas si c'est possible...)
Votre mission, à supposer que vous l'acceptiez consiste à...
Vérifier si la valeur des cellules de la colonne D de "Tasks" se retrouve quelque part au sein de la colonne D de "Tasks (2)" (peut être pas à la même ligne).
Si la réponse est 'non', il faudrait indiquer "nouveau" dans la colonne T de "Tasks" à hauteur de la ligne en question.
+ Optionnel : Mettre les cases contenant le terme "nouveau" dans la colonne T en 'Jaune'
Dans ce cas-ci, c'est tout.
Par contre, si la réponse est 'oui', alors voilà ce que j'aimerais voir :
Indiquer "continuation" dans la colonne T de "Tasks" à hauteur de la ligne en question.
Puis, comparer les cellules correspondantes en colonne R entre les feuilles "Tasks" et "Tasks (2)" (Exemple : D32 de "Tasks" = D27 de "Tasks (2)", comparer R32 de "Tasks" avec R27 de "Tasks (2)").
Deux possibilités alors, soit les valeurs en R sont identiques et il faudrait alors indiquer "identique" dans la colonne U de "Tasks" à hauteur de la ligne en question;
Ou alors, elles sont différentes donc il faudrait indiquer "changement" dans la colonne U de "Tasks" à hauteur de la ligne en question + optionnel : mettre la case en 'Rouge'.
Dernière chose à faire si la réponse est 'oui', il faudrait comparer les cellules correspondantes en colonne S entre les feuilles "Tasks" et "Tasks (2)" (Exemple : D56 de "Tasks" = D68 de "Tasks (2)", comparer S56 de "Tasks" avec S68 de "Tasks (2)").
Deux possibilités encore une fois, soit les valeurs en S sont identiques et il faudrait alors indiquer "identique" dans la colonne V de "Tasks" à hauteur de la ligne en question;
Ou alors, elles sont différentes donc il faudrait indiquer "changement" dans la colonne V de "Tasks" à hauteur de la ligne en question + optionnel : mettre la case en 'Rouge'.
NB : La comparaison devrait se faire à partir de la deuxième ligne étant donné que la première est constituée de "titres"...
Voilà donc ce que j'aimerais que la VBA fasse si possible, n'hésitez pas à me le dire si ce n'est pas le cas.
L'explication est assez longue et manque peut être de clarté à certains endroits donc n'ayez pas peur de m'interroger sur certaines parties si nécessaire
Je vous remercie d'ores et déjà pour l'aide et le temps que vous me consacrez !
Bien cordialement,
LSK
Alors commençons par la situation actuelle...
Je reçois de manière hebdomadaire un fichier Excel reprenant tout un tas de données sur des milliers de lignes et des dizaines de colonnes.
J'ai mis en place un début de VBA qui cantonnent les données utiles à quelques centaines de lignes et à un peu moins de vingt colonnes, pour cette partie, ça va comme je veux
A noter également que je travaille sur deux feuilles "Tasks" et "Tasks (2)" ouvertes dans un même classeur et dont la structure (nombre de colonnes et type de valeur dans les cellules) est identique mais pas le contenu (nombre de lignes et valeur dans les cellules).
Ensuite, mes "connaissances" limitées m'empêchent d'aller au-delà (je ne sais même pas si c'est possible...)
Votre mission, à supposer que vous l'acceptiez consiste à...
Vérifier si la valeur des cellules de la colonne D de "Tasks" se retrouve quelque part au sein de la colonne D de "Tasks (2)" (peut être pas à la même ligne).
Si la réponse est 'non', il faudrait indiquer "nouveau" dans la colonne T de "Tasks" à hauteur de la ligne en question.
+ Optionnel : Mettre les cases contenant le terme "nouveau" dans la colonne T en 'Jaune'
Dans ce cas-ci, c'est tout.
Par contre, si la réponse est 'oui', alors voilà ce que j'aimerais voir :
Indiquer "continuation" dans la colonne T de "Tasks" à hauteur de la ligne en question.
Puis, comparer les cellules correspondantes en colonne R entre les feuilles "Tasks" et "Tasks (2)" (Exemple : D32 de "Tasks" = D27 de "Tasks (2)", comparer R32 de "Tasks" avec R27 de "Tasks (2)").
Deux possibilités alors, soit les valeurs en R sont identiques et il faudrait alors indiquer "identique" dans la colonne U de "Tasks" à hauteur de la ligne en question;
Ou alors, elles sont différentes donc il faudrait indiquer "changement" dans la colonne U de "Tasks" à hauteur de la ligne en question + optionnel : mettre la case en 'Rouge'.
Dernière chose à faire si la réponse est 'oui', il faudrait comparer les cellules correspondantes en colonne S entre les feuilles "Tasks" et "Tasks (2)" (Exemple : D56 de "Tasks" = D68 de "Tasks (2)", comparer S56 de "Tasks" avec S68 de "Tasks (2)").
Deux possibilités encore une fois, soit les valeurs en S sont identiques et il faudrait alors indiquer "identique" dans la colonne V de "Tasks" à hauteur de la ligne en question;
Ou alors, elles sont différentes donc il faudrait indiquer "changement" dans la colonne V de "Tasks" à hauteur de la ligne en question + optionnel : mettre la case en 'Rouge'.
NB : La comparaison devrait se faire à partir de la deuxième ligne étant donné que la première est constituée de "titres"...
Voilà donc ce que j'aimerais que la VBA fasse si possible, n'hésitez pas à me le dire si ce n'est pas le cas.
L'explication est assez longue et manque peut être de clarté à certains endroits donc n'ayez pas peur de m'interroger sur certaines parties si nécessaire
Je vous remercie d'ores et déjà pour l'aide et le temps que vous me consacrez !
Bien cordialement,
LSK
Dernière édition: