Bonjour à tous,
J'utilise une fonction SOMMEPROD et j'ai besoin d'effectuer un test sur une date, or la colonne qui contient la date à tester est un extrait d'un logiciel, avec certaines lignes en format date, et d'autres en string, et enfin des cellules contenant la valeur zéro (cellules pas encore remplies par l'extrait).
Ma fonction SOMMEPROD ne me renvoie donc pas le résultat escompté car elle ne peux effectuer le test sur les date en format string... Voilà la fonction utilisée initialement :
=SOMMEPROD(DB_Cargoes!$K$5:$K$500>$T$2)*(DB_Cargoes!$K$5:$K$500<$T$3);(DB_Cargoes!$HZ$5:$HZ$500))
J'ai ensuite voulu l'améliorer en convertissant tous les formats string au format date :
=SOMMEPROD((DATEVAL(TEXTE(DB_Cargoes!$K$5:$K$500;"jj/mm/aaaa"))>$T$2)*(DATEVAL(TEXTE(DB_Cargoes!$K$5:$K$500;"jj/mm/aaaa"))<$T$3);(DB_Cargoes!$HZ$5:$HZ$500))
Mais j'ai alors une erreur #VALEUR! car la fin de ma colonne "date" contient des 0, qui sont alors transformés en 00/01/1900 par la fonction TEXTE, et ensuite, la fonction DATEVAL n'arrive pas à les retranscrire en date (ce qui est normal).
J'aimerais donc insérer l'équivalent d'une condition SI dans ma fonction SOMMEPROD (qui travaille sur des matrices donc m'interdit l'utilisation de la fonction SI) pour ne traiter que les chaines de caractères différentes de 0.
Et à ce titre je souhaite développer un bout de code VBA pour créer la fonction nécessaire, mais je suis débutant et je peine beaucoup à travailler avec des matrices en VBA.
Si vous avez des idées de codes je suis preneur, voire même une solution sans utiliser de code VBA !!
D'avance merci,
Gasp
J'utilise une fonction SOMMEPROD et j'ai besoin d'effectuer un test sur une date, or la colonne qui contient la date à tester est un extrait d'un logiciel, avec certaines lignes en format date, et d'autres en string, et enfin des cellules contenant la valeur zéro (cellules pas encore remplies par l'extrait).
Ma fonction SOMMEPROD ne me renvoie donc pas le résultat escompté car elle ne peux effectuer le test sur les date en format string... Voilà la fonction utilisée initialement :
=SOMMEPROD(DB_Cargoes!$K$5:$K$500>$T$2)*(DB_Cargoes!$K$5:$K$500<$T$3);(DB_Cargoes!$HZ$5:$HZ$500))
J'ai ensuite voulu l'améliorer en convertissant tous les formats string au format date :
=SOMMEPROD((DATEVAL(TEXTE(DB_Cargoes!$K$5:$K$500;"jj/mm/aaaa"))>$T$2)*(DATEVAL(TEXTE(DB_Cargoes!$K$5:$K$500;"jj/mm/aaaa"))<$T$3);(DB_Cargoes!$HZ$5:$HZ$500))
Mais j'ai alors une erreur #VALEUR! car la fin de ma colonne "date" contient des 0, qui sont alors transformés en 00/01/1900 par la fonction TEXTE, et ensuite, la fonction DATEVAL n'arrive pas à les retranscrire en date (ce qui est normal).
J'aimerais donc insérer l'équivalent d'une condition SI dans ma fonction SOMMEPROD (qui travaille sur des matrices donc m'interdit l'utilisation de la fonction SI) pour ne traiter que les chaines de caractères différentes de 0.
Et à ce titre je souhaite développer un bout de code VBA pour créer la fonction nécessaire, mais je suis débutant et je peine beaucoup à travailler avec des matrices en VBA.
Si vous avez des idées de codes je suis preneur, voire même une solution sans utiliser de code VBA !!
D'avance merci,
Gasp