Non la fonction est la bonne, on obtient un résultat juste.Il faut donc remplacer la valeur constante de la colonne Grade de la feuille MO par une formule:
=SI(A2<>"";RECHERCHEV(A2;EFFECTIF!A$1:F$9002;5;FAUX);"")
Par contre on obtient par formule une valeur qui est différente, la constante étant précédée du chiffre 1 ou autre.
Elle donne un résultat juste mais différent de ce qu'il y avait avant.Non la fonction est la bonne, on obtient un résultat juste.
En essayant le Test, j'ai ajoué un IU à la feuille base j'ai eu un message de réference circulaire.Il faut donc remplacer la valeur constante de la colonne Grade de la feuille MO par une formule:
=SI(A2<>"";RECHERCHEV(A2;EFFECTIF!A$1:F$9002;5;FAUX);"")
Par contre on obtient par formule une valeur qui est différente, la constante étant précédée du chiffre 1 ou autre.
c'est la même chose., pas de souci pour la numérotion de ligne automatique.Elle donne un résultat juste mais différent de ce qu'il y avait avant.
Avant Regarde la pièce jointe 1092601
Après Regarde la pièce jointe 1092600
D'autre part j'ai changé les formules pour remplacer "A2" par "[I.U]" pour ne plus avoir à gérer le n° de ligne dans la formule
Je ne comprends pas comment en changeant le titre en I.U qui est une valeur constante tu peux avoir un référence circulaire. Ce n'est pas possible.En essayant le Test, j'ai ajoué un IU à la feuille base j'ai eu un message de réference circulaire.
Ce que tu m'as demandé ce n'est pas d'assurer la cohérence des Identifiants entre les 2 feuilles.J'ai remarqué aussi si on ajoute un identifiant par erreur on le supprime de la Feuille base mais il n'est pas supprimer automatiquemetn de le Feuille MO
Ce n'est pas la même chose pour le code qui doit insérer la formule lorsqu'un identifiant est créé en feuille MO.c'est la même chose., pas de souci pour la numérotion de ligne automatique.
Si tu veux que je le code pour assurer la cohérence il faut que je sache ce qui doit apparaître en feuille MO.
- Tous les Identifiants ?
- Seulement les Identifiants qui ont un MO en feuille Base
Bonjour,J'ai quasi passé la journée d'hier et ce matin sur ce code.
La gestion / interception des modifications (ajouts/modifications/suppressions) dans une feuille (ou un tableau) est toujours très complexe. En plus il faut ici maintenir la cohérence entre 2 tableaux et reporter les modifs de l'un dans l'autre. C'est pas piqué des vers ! Comme on dit chez moi et ce n'est certainement pas maintenable par un développeur moyen malgré la pléthore de commentaires et les noms d'objets / variables / constantes auto-descriptifs.
J'ai travaillé au maximum avec des tables mémoire chargées par Ranges entiers plutôt que directement avec les cellules des tableaux structurés pour accélérer au mieux les traitements. Je ne sais pas ce que ça peut donner sur un tableau de 7000 lignes en temps de réponse.
Je n'ai fait quelques tests et je te laisse vérifier.
P.S. je ne sais pas trop à quoi sert le code que tu as mis en Workbook.
Sinon la supression fonctionne merveilleusement bien.Bonjour,
Le code dans workbook sert à déclencher une alerte à l'ouverture du fichier pour avertir des date de reprises prevues pour moins de 15 et de 7 jours.
Quand au code que vous avez mis fonctionne avec une erreur,
1) En ajoutant un I.U dans "base" tout va bien jusqu'à ce que je renseigne la colonne H "MO", là une erreur s'affiche:
Regarde la pièce jointe 1092749
Regarde la pièce jointe 1092750
Alors une ligne est inserée dans la feuille MO (Colonne A, B,C), le reste des colonnes vide.
Une fois je retappe à nouveau la durée en colonne H "MO de la feuille base, alors la j'ai l'affichage dans la feuille MO Colonne E