Macro pour savoir où est la première valeur #0 dans un tableau
VBAHell
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'aimerais obtenir une macro qui me dit depuis quand l'article est consommé. Pour cela, j'aimerais par exemple savoir si cela fait 12 mois que l'on a des données de conso (donc prendre en compte le mois actuel de l'année en cours et les 12 derniers mois consos > 0). Par contre admettons que l'on soit en novembre 2018, j'ai 23 potentielles données renseignées sur la référence (janvier 2017 jusqu'à novembre 2017). Si la première conso a eu lieu en février 2017 puis qu'il n'y a plus eu de conso jusqu'en octobre 2018 j'aimerais que le résultat apparaisse comme = à 12mois et non pas 1 mois car la première valeur a eu lieu lors de tel ou tel mois.
Dans mon tableau excel on voit par exemple la référence A : année 2017 sur une ligne et 2018 sur une autre et dans 12 colonnes on voit les consommations de janvier à décembre pour chaque année.
Quand il n'y en a pas eu on obtient 0, mon objectif est donc de voir quand a été renseigné la première consommation et si par rapport au mois actuel cela fait + de 12 mois, alors réponse = 100% pour la référence ou si inférieur à 12 mois alors réponse = ( x mois / 12 ) * 100
Vous trouverez ci-joint un extrait des données afin de mieux visualiser le problème, ainsi que les résultats que j'aimerais obtenir : https://www.cjoint.com/c/HAyjaltnPKS
Merci d'avance pour tout,
Cordialement
Thomas
J'aimerais obtenir une macro qui me dit depuis quand l'article est consommé. Pour cela, j'aimerais par exemple savoir si cela fait 12 mois que l'on a des données de conso (donc prendre en compte le mois actuel de l'année en cours et les 12 derniers mois consos > 0). Par contre admettons que l'on soit en novembre 2018, j'ai 23 potentielles données renseignées sur la référence (janvier 2017 jusqu'à novembre 2017). Si la première conso a eu lieu en février 2017 puis qu'il n'y a plus eu de conso jusqu'en octobre 2018 j'aimerais que le résultat apparaisse comme = à 12mois et non pas 1 mois car la première valeur a eu lieu lors de tel ou tel mois.
Dans mon tableau excel on voit par exemple la référence A : année 2017 sur une ligne et 2018 sur une autre et dans 12 colonnes on voit les consommations de janvier à décembre pour chaque année.
Quand il n'y en a pas eu on obtient 0, mon objectif est donc de voir quand a été renseigné la première consommation et si par rapport au mois actuel cela fait + de 12 mois, alors réponse = 100% pour la référence ou si inférieur à 12 mois alors réponse = ( x mois / 12 ) * 100
Vous trouverez ci-joint un extrait des données afin de mieux visualiser le problème, ainsi que les résultats que j'aimerais obtenir : https://www.cjoint.com/c/HAyjaltnPKS
Merci d'avance pour tout,
Cordialement
Thomas
A voir également:
- Macro pour savoir où est la première valeur #0 dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, pourquoi ne fais-tu pas cela simplement avec des formules?
veux-tu vraiment utiliser une macro?
veux-tu vraiment utiliser une macro?
Je vais en effet utiliser des formules, mais celles-ci seront déclenchées par une macro.
J'ai travaillé sur ce sujet, voilà ce que j'ai pu en tirer :
https://www.cjoint.com/c/HAziHt4nISS
Désormais je copie les données de l'année n à côté de ceux de n-1. Chaque mois est donc numéroté de 1 à 24 pour les deux années.
Je calcule le mois en cours avec "=MOIS(AUJOURDHUI())" et l'étendue de la recherche à "=MOIS(AUJOURDHUI())" + 12.
Je dois juste rechercher à quel mois il y a eu la première valeur supérieure à 0. Je vais faire une rechercheV avec une condition de supériorité à 0. Quelqu'un voit comment faire?
Merci d'avance,
Thomas
Est-ce que je dois essayer avec une boucle ?
Ou tenter avec une rechercheV mais alors là je ne vois pas encore comment ...
https://mon-partage.fr/f/gRybBO90/