Bonjour
Pour résumer le fil je vous invite à travailler avec la propriété ..visible des panneaux d'un champ onglet.
Le clonnage de panneau d'un onglet n'existe pas. Nous vous avons alors indiquer qu'il faut créer un nombre suffisant de panneaux invisibles par défaut (ou rendus invisibles à l'ouverture de la fenêtre).
Alors, après la saisie de votre date (bouton ou à chaque modification + test si date valide), vous pourrez activer/désactiver les panneaux voulus et en affecter le libellé.
Enfin, comme vous pouvez manipuler la visibilité de chaque panneau, vous pouvez aisément n'en laisser qu'un seul actif... en masquant tous les autres.
dans tous les cas, vous allez devoir manipuler les propriété visibles dans des boucles.
// déclaration des globales de la fenêtre
fnVoletsActifs est un entier // nombre de volets 'actifs'
fnVolets = 20 //Nombre totals de volets invisibles dans votre champ onglet
// initialisation de la fenêtre
i est un entier
// affiche le premier volet (saisie de la date)
VoletActive(1,vrai)
// masque les suivants
POUR i=2 A fnVolets
VoletActive(i,faux)
FIN
// Procédure locale
// Active/inactive un volet en particulier
PROCEDURE VoletActive(pnVolet,pbActive = Vrai,pdDate = DateDuJour())
// ne traite pas les volet inexistants
SI pnVolet>fnVolets ALORS RETOUR
// Active l'onglet voulu
monChampOnglet[pnVolet]..visible = pbActive
// Affecte le libellé
SI pbActive ALORS monChampOnglet[pnVolet]..libelle=DateVersChaine(pdDate,"JJ/MM/AAAA")
FIN
A l'utilisation on obtient :
// Masque le premier volet
VoletActive(1,Faux)
// Affiche un volet par années entre la daite saisie et aujourd'hui
dDate est une date = SAIS_DATE
i est un entier = 2
TANTQUE dDate<=DateDuJour() et i<=20
VoletActive(i,Vrai,dDate)
dDate..Année++
i++
FIN