Merci je vais tester encoreCe message est normal, c'est le code qui l'affiche.
Regarde la pièce jointe 1092753
Pour répartir les MO par année il faut
1 - que la période soit définie avec date début et date reprise valorisées (sinon comment répartir par année ?)
2 - que les années dans MO soient déclarées en colonne pour toutes les années de la période (sinon comment affecter un MO pour 2022 si la colonne 2022 n'existe pas en tableauMO ?)
Quant au code en jaune est-ce une erreur ? Dans le tri c'est assez improbable.
Peut-être remplacer Add2 Key par Add Key comme j'ai déjà eu dans un autre cas.
Bonjour Dudu2,Dans cette version j'empêche la saisie d'un MO en TableauBase si les dates ne sont pas valorisées.
Le Add2 Key du tri a été modifié en Add Key.
Private Const NomFeuilleBase = "base"
Private Const NomFeuilleMO = "MO"
Private Const NomTableauBase = "TableauBase"
Private Const NomTableauMO = "TableauMO"
Private Const NomColonneIdentifiant = "I.U"
Private Const NomColonneMO = "MO"
Private Const NomColonneDateDébut = "Date debut"
Private Const NomColonneDateReprise = "Date reprise"
Private Const NomColonneNomPrénom = "Nom et prenom"
Private Const NomColonneGrade = "Grade"
Private Const FormuleColonneNomPrénom = "=SI([I.U]<>"""";RECHERCHEV([I.U];EFFECTIF!A$1:F$9002;4;FAUX);"""")"
Private Const FormuleColonneGrade = "=SI([I.U]<>"""";RECHERCHEV([I.U];EFFECTIF!A$1:F$9002;5;FAUX);"""")"
Bonjour @HamoudaBA,
Sur le classeur réel il faut que le tableau structuré en feuille Base s'appelle TableauBase et le tableau structuré en feuille MO s'appelle TableauMO.
Regarde la pièce jointe 1092902
Ces valeurs se retrouvent dans le Module de la Feuille Base:
VB:Private Const NomFeuilleBase = "base" Private Const NomFeuilleMO = "MO" Private Const NomTableauBase = "TableauBase" Private Const NomTableauMO = "TableauMO" Private Const NomColonneIdentifiant = "I.U" Private Const NomColonneMO = "MO" Private Const NomColonneDateDébut = "Date debut" Private Const NomColonneDateReprise = "Date reprise" Private Const NomColonneNomPrénom = "Nom et prenom" Private Const NomColonneGrade = "Grade" Private Const FormuleColonneNomPrénom = "=SI([I.U]<>"""";RECHERCHEV([I.U];EFFECTIF!A$1:F$9002;4;FAUX);"""")" Private Const FormuleColonneGrade = "=SI([I.U]<>"""";RECHERCHEV([I.U];EFFECTIF!A$1:F$9002;5;FAUX);"""")"[/ [/QUOTE]
Oui c'est bien le casBonjour @HamoudaBA,
Sur le classeur réel il faut que le tableau structuré en feuille Base s'appelle TableauBase et le tableau structuré en feuille MO s'appelle TableauMO.
Regarde la pièce jointe 1092902
Ces valeurs se retrouvent dans le Module de la Feuille Base:
VB:Private Const NomFeuilleBase = "base" Private Const NomFeuilleMO = "MO" Private Const NomTableauBase = "TableauBase" Private Const NomTableauMO = "TableauMO" Private Const NomColonneIdentifiant = "I.U" Private Const NomColonneMO = "MO" Private Const NomColonneDateDébut = "Date debut" Private Const NomColonneDateReprise = "Date reprise" Private Const NomColonneNomPrénom = "Nom et prenom" Private Const NomColonneGrade = "Grade" Private Const FormuleColonneNomPrénom = "=SI([I.U]<>"""";RECHERCHEV([I.U];EFFECTIF!A$1:F$9002;4;FAUX);"""")" Private Const FormuleColonneGrade = "=SI([I.U]<>"""";RECHERCHEV([I.U];EFFECTIF!A$1:F$9002;5;FAUX);"""")"
Oui c'est bien le cas
Comment ajouter un code pour colorier une ligne en "doublon" si les colonnes B, C, F, G, H et L d'une ligne sont doublés ou triplés.Oui c'est bien le cas
De quel tableau tu parles ? En feuille Base ou en Feuille MO ?Comment ajouter un code pour colorier une ligne en "doublon" si les colonnes B, C, F, G, H et L d'une ligne sont doublés ou triplés.
Pourquoi tu veux avoir le même nombre de lignes ?J'ai 17 lignes en MO sur feuille base et je n'ai que les 12 lignes déjà existants sur la Feuille MO
Je comprend pas pourquoi!!
la cumul m'affiche le total sans avoir de doublons de réferences.
Le code doublon c'est pour la Feuille base.De quel tableau tu parles ? En feuille Base ou en Feuille MO ?
Si c'est en feuille MO je peux ajouter un MFC par VBA
Pourquoi tu veux avoir le même nombre de lignes ?
Il peut y avoir plusieurs lignes pour 1 Identifiant en feuille Base et en principe il n'y a qu'une seule ligne pour 1 Identifiant en feuille MO. C'est bien ce que tu as demandé non ?
Si tu veux recréer complètement le TableauMO (au cas où tu aurais un doute ou partirais d'un TableauMO initial bancal), il faut supprimer toutes ses lignes et simplement faire entrée sur une Identifiant du TableauBase dans la barre de formule. Ça va déclencher un Worksheet_Change() sur cet Identifiant et la vérification de cohérence fera son oeuvre pour récréer en TableauMO les Identifiants manquants.
Ca marche la feuille est régénérée. superLe code doublon c'est pour la Feuille base.
Je vais faire l'essai de supprimer les données du TableauMO.
C'est bien ce que je voulaire un seul identifiant.
Pour les doublons en feuille Base faut faire un MFC à la mano. Et bien utiliser les compopsants du tableau pour le Range et pas définir le Range en direct.Le code doublon c'est pour la Feuille base.
et la solution?En fait ce n'est pas possible car la MFC ne garde pas les Range("TableauBase[I.U]").
Elle traduit en Range direct.
Cela me donnera les doublons des identifiants uniquement. Je cherche doublon sur une ligne entière pour eviter un dossier en double.Dans le tableau sélectionner la colonne I.U et créer le MFC des doublons.