XL 2010 Automatiser remplissage d'un résultat mensuellement

agoumi

XLDnaute Nouveau
Bonjour,
Je suis debutante en Excel/VBA. Je suis très contente qu'il existe des forums comme celui-ci.

Voila, en fait, chaque mois, je calcule un résultat (pourcentage) d'absenteisme dans les centres de mon entreprise.

Ensuite, les résultats, je dois les remplir à la main dans un tableau final (à publier), mais qui n'est pas du tout du meme format ni dans le meme ordre que le premier.
J'ai fait un fichier exemple qui montre 4 centres mais en réalité j'en ai quelques 500 à remplir, donc chaque mois, je remplis une case pour chaque centre. Je voudrais automatiser tout cela, pour que chaque mois, la case résultat d'absentéisme se remplisse pour chacun des 500 centres.

Ce serait top que vous puissiez m'aider; svp.

Merci
 

Pièces jointes

  • test1.xlsx
    17.8 KB · Affichages: 34

Dugenou

XLDnaute Barbatruc
Bonjour,
Tenez-vous absolument à une macro ??
Parce que c'est faisable avec une formule :
Code:
=RECHERCHEV($A2;INDIRECT("'"&H$1&" 2017'!$B$2:$E$5");4;FAUX)*100
à coller en h2 puis copier cette cellule sur toutes les cellules rouges
voir pj.
Attention à bien nommer vos onglets de feuille en fonction de vos titres de colonnes.
Il faudra modifier la page $b$2:$e$5 en fonction de vos vraies données
Cordialement
 

Pièces jointes

  • agoumi.xlsx
    18.1 KB · Affichages: 31

agoumi

XLDnaute Nouveau
Bonjour Dugenou,
Merci infiniment pour votre réponse rapide!
Je voulais une macro parce qu'elle me permettrait (je suppose), de ne pas copier/coller la formule recherchev aux 500 cases que je dois remplir, mais si la recherchév est la plus simple, ça me va très bien.

Par contre, pourrais je juste vous demander une petite precision? je ne connais pas la function INDIRECT et du coup, je ne comprends pas le detail à l'intérieur des parenthèse après INDIRECT : ("'"&H$1&" 2017'!$B$2:$E$5") et pourquoi y-a-t-il écrit uniquemnt 2017 et pas le nom de ma feuille (Mai 2017 ou Juin 2017).

Merci bcp.

Excellente journée à vous.
 

Dugenou

XLDnaute Barbatruc
Bonjour,
Vous pouvez coller d'avance et une fois pour toute la formule dans les cellules de destination sur une ligne puis coller l'ensemble de la ligne sur chacune des autres ça ne fait plus que 500 collages (une seule fois) : on adaptera la formule avec sierreur pour éviter les NA quand il n'y a pas de valeur.
Pour le détail du indirect :
Indirect permet d'utiliser une référence calculée (voir l'aide sur la fonction) : dans votre cas on prend toujours la plage $B$2:$E$5 de chaque feuille, le tout est de faire changer le nom de la feuille quand on change de colonne. Vos feuilles sont nommées Mai 2017, Juin 2017 etc et vos colonnes : Mai, Juin etc.
Il faut donc ajouter le 2017 à chaque fois et bien gérer les ' (simple quotes) et le ! qui se voient quand on fait une simple liaison :
Code:
=RECHERCHEV($A2;'MAI 2017'!$B$2:$E$7;4;FAUX)*100
donc je rend variable la partie Mai, Juin ect en remplaçant par h$1 (le $ pour que le 1 ne change pas quand on copie vers le bas) et je mets le reste en texte entre guillemets " le tout concaténé par des & (qui est une sorte de + pour le texte)

J'espère avoir été clair

Cordialement
 

Statistiques des forums

Discussions
312 145
Messages
2 085 763
Membres
102 967
dernier inscrit
Syl34