Remplissage automatique du tableau selon cases précédentes Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
F
Fabien Garnier
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 27 mai 2013
Version d'Excel : 2010

Message par Fabien Garnier » 27 mai 2013, 13:41

Bonjour,

Je suis chargé de créer un planning de maintenance, et j'aimerais que celui-ci soit un minimum automatique. J'ai cherché sur le forum mais je n'ai rien trouvé de tel (et mon problème a l'air simple comparé à celui des autres).

J'ai des fréquences prédéfinies pour les actions de maintenance, et j'aimerais que le tableau se remplisse tout seul.

Par exemple, si la maintenance d'une machine est faite en janvier 2013 et possède une fréquence de 2 mois, j'aimerais que, lorsque la case Janv-13 de la machine X est remplie "F" (Fait), la mention "AF" (À faire) s'inscrive automatiquement en Mars-13, en Mai-13, en Juil-13, etc.
Je veux également que, lorsqu'une tâche AF n'est pas faite à la date prévue, l'intitulé AF devienne R (retard) et que la case suivante passe de vide à AF. Et que cela décale les prochaines actions à faire.

Pour montrer ce que je souhaite obtenir, j'ai rempli manuellement ce à quoi devrait ressembler le planning pour les deux premières lignes.

J'ai essayé de bidouiller une formule en fonction du nombre de cases vides, mais je me suis un peu perdu et ce fut sans succès. De plus, cela ne me permettait pas de gérer les retards.

Je vous remercie par avance de l'aide que vous pourrez m'apporter.

Cordialement,
Fabien :-)
Planning PM.xlsx
(17.52 Kio) Téléchargé 47 fois
F
Fabien Garnier
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 27 mai 2013
Version d'Excel : 2010

Message par Fabien Garnier » 27 mai 2013, 15:30

Re-bonjour,

J'ai écrit la formule suivante en I2 :
=SI(NB.SI(H2;"R")=1;"AF";SI(NB.SI(G2;"F")=1;"AF";SI(NB.SI(G2;"AF")=1;"AF";SI(NB.SI(G2;"A")=1;"AF";""))))

La formule marche plutôt bien, le problème, c'est que si il y a deux "F" d'affilée (par exemple en cas de maintenance curative, on peut être amené à effectuer la même action de maintenance deux fois d'affilée), la formule que je donne n'est pas bonne (j'ai des AF de partout).

De plus, je n'ai pas pu "automatiser" le système de retard R.

Enfin, je dois sélection manuellement la case à vérifier (deux cases avant pour une fréquence de 2 mois, 3 cases avant pour une fréquence de 3 mois, ...) et j'aimerais trouver un myoen de dire "regarde f cases avant" où f est la fréquence, mais je n'y arrive pas (même avec des CONCATENER).

Merci encore !
X
XOR LX
Membre fidèle
Membre fidèle
Messages : 354
Inscrit le : 23 mai 2013
Version d'Excel : 2010 EN

Message par XOR LX » 27 mai 2013, 18:06

Bonjour !

Mettez cette-formule-ci matricielle (confirmez avec CTRL+MAJ+ENTRÉE, non seulement ENTRÉE) dans la cellule I2 et copiez aux autres cellules nécessaires :

=SI(OU($G2="";$G2="TBD");"Pas de Fréq";SI(ET(H2="R";MOIS(AUJOURDHUI())<=MOIS(I$1));"AF";SI(ET(MOD(COLONNE()-COLONNE($H2)-SIERREUR(EQUIV(10^10;1/(1-($H2:H2=""));1);1)+1;$G2)=0;MOIS(AUJOURDHUI())>MOIS(I$1));"R";SI(ET(MOD(COLONNE()-COLONNE($H2)-SIERREUR(EQUIV(10^10;1/(1-($H2:H2=""));1);1)+1;$G2)=0;MOIS(AUJOURDHUI())<=MOIS(I$1));"AF";""))))

J’espère que cela vous aide.

Cordialement.
Advanced Excel Techniques: http://excelxor.com/

Le français n'est pas ma langue maternelle- désolé pour mes fautes
F
Fabien Garnier
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 27 mai 2013
Version d'Excel : 2010

Message par Fabien Garnier » 28 mai 2013, 09:38

Bonjour,

Magique, ça marche. C'est exactement ce que je cherchais, merci beaucoup.

Maintenant, je vais passer un petit moment à comprendre la formule et cette histoire de CTRL+MAJ+ENTER :P

EDIT : Wahou, je me demandais s'il était possible de fixer une valeur uniquement selon les lignes ou les colonnes en étirant. En fait il suffit de mettre uniquement un seul '$' !
X
XOR LX
Membre fidèle
Membre fidèle
Messages : 354
Inscrit le : 23 mai 2013
Version d'Excel : 2010 EN

Message par XOR LX » 28 mai 2013, 10:22

Exactement !

En fait, je n’étais pas si sûr si vous vouliez que les entrées qui correspondent aux dates dans le passe soient marquées avec un ‘R’ ou non, mais cela me semblait correcte.

Bonne chance avec les formules matricielles ! L’expertise vous attend après ça !
Advanced Excel Techniques: http://excelxor.com/

Le français n'est pas ma langue maternelle- désolé pour mes fautes
F
Fabien Garnier
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 27 mai 2013
Version d'Excel : 2010

Message par Fabien Garnier » 28 mai 2013, 10:31

Bonjour, concernant les 'R', cela me semble correct (je n'ai pas compris avec certitude votre interrogation).

EDIT : Existe-t-il une solution pour que, lorsque la personne efface le contenu d'une cellule (par exemple après une erreur), la formule revienne par défaut dans la case ?

En effet, ce fichier est destiné à des personnes assez réticentes à l'utilisation de l'ordinateur, et le but est de faire aussi simple que possible...

D'autre part, je pense prendre en compte le mois et l'année plutôt que le mois, si jamais le fichier est étendu. Pour cela, il faudrait que je teste ET le mois ET l'année, sauf erreur.
X
XOR LX
Membre fidèle
Membre fidèle
Messages : 354
Inscrit le : 23 mai 2013
Version d'Excel : 2010 EN

Message par XOR LX » 28 mai 2013, 10:56

"Existe-t-il une solution pour que, lorsque la personne efface le contenu d'une cellule (par exemple après une erreur), la formule revienne par défaut dans la case?"

En fait, non, si je vous comprends bien (sauf en appuyant sur Annuler). Il existe le moyen de prévenir l’effacement des formules, naturellement – c’est ça que vous souhaitez faire?
Advanced Excel Techniques: http://excelxor.com/

Le français n'est pas ma langue maternelle- désolé pour mes fautes
F
Fabien Garnier
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 27 mai 2013
Version d'Excel : 2010

Message par Fabien Garnier » 28 mai 2013, 11:39

Cela pourrait-être une solution, cependant il faudrait autoriser certaines valeurs. En effet, lorsque le technicien a effectué l'action, il doit pouvoir remplacer manuellement le "AF" par un "F"'.

Sinon pour la date, j'ai essayé de remplacer :
MOIS(AUJOURDHUI())<=MOIS(I$1) par OU(ET(MOIS(AUJOURDHUI())<=MOIS(I$1);ANNEE(AUJOURDHUI())=ANNEE(I$1));ANNEE(AUJOURDUI())<ANNEE(I$1))
et
MOIS(AUJOURDHUI())>MOIS(I$1) par OU(ET(MOIS(AUJOURDHUI())>MOIS(I$1);ANNEE(AUJOURDHUI())=ANNEE(I$1));ANNEE(AUJOURDUI())>ANNEE(I$1))
Mais cela n'a pas l'air de fonctionner :-/
X
XOR LX
Membre fidèle
Membre fidèle
Messages : 354
Inscrit le : 23 mai 2013
Version d'Excel : 2010 EN

Message par XOR LX » 28 mai 2013, 12:10

Je ne suis pas sûr, mais il me semble qu’il faudra encore un ‘)’ à la fin de vos conditions, soit :

OU(ET(MOIS(AUJOURDHUI())<=MOIS(I$1);ANNEE(AUJOURDHUI())=ANNEE(I$1));ANNEE(AUJOURDUI())<ANNEE(I$1)))
Advanced Excel Techniques: http://excelxor.com/

Le français n'est pas ma langue maternelle- désolé pour mes fautes
F
Fabien Garnier
Jeune membre
Jeune membre
Messages : 11
Inscrit le : 27 mai 2013
Version d'Excel : 2010

Message par Fabien Garnier » 28 mai 2013, 14:46

Après vérification, le nombre de parenthèses était correct. Je ne sais toujours pas pourquoi ma formule ne fonctionne pas :-(
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message