perso, vu la complexité il me faudrait une copie du projet pour essayer de répondre de plus malgré les 2 nouvelles images j'ai rien compris de quel était le PB et je doute que Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! est compris de son côté
a OK j'avais du mal a voir donc tu as cloner 2 fois ton champ fenêtre interne vu qu'il y a 2 contact c'était pas le but rechercher ?
non ce n'est pas moi qui a cloné 2 fois, même la procédure que j'ai crée, j'en ai vérifié par des traces. salutations
voici la procédure PROCÉDURE ListeChamps(sParentAdresse est une chaîne) nIndiceChamp est un entier = 1 sChampNom est une chaîne sChampAdresse est une chaîne nIndiceVoletMax est un entier nIndiceVolet est un entier j,i est un entier=1 sChaîneExtraite1 est une chaîne tabContact est un tableau de chaînes POUR TOUTE CHAÎNE sChaîneExtraite, nRang DE Choix_Contact SEPAREE PAR "/" TableauAjoute(tabContact,sChaîneExtraite) //tableau de nom à cloné=volet à cloné FIN POUR TOUTE CHAÎNE sChaîneExtraite1, nRang DE Choix_IDCOntact SEPAREE PAR "/" SI sChaîneExtraite1<>"" ALORS SI sChaîneExtraite1<>0 TableauAjoute(tabIDContact,sChaîneExtraite1) //Id de personnes à clonés FIN FIN FIN SI {sParentAdresse,indChamp}..Type = typOnglet ALORS //- L'objet parent est un onglet nIndiceVoletMax = {sParentAdresse,indChamp}..Occurrence POUR i=1 À tabContact..Occurrence //Nombre de personnes selectionés nIndiceChamp=1 sChampNom = EnumèreChamp({sParentAdresse}[1], nIndiceChamp) TANTQUE sChampNom <> "" ChampClone({sParentAdresse}[1]..Nom,tabContact) //Clone le volet en fonction du nom nIndiceChamp ++ // sChampAdresse = sParentAdresse + "." + sChampNom //original sChampAdresse = {sParentAdresse}[1]..Nom + "." + sChampNom SI {sChampNom,indChamp}..Type=typFenêtreInterne ALORS NumContact=tabIDContact ChampClone({sParentAdresse}[1]..Nom+"."+sChampNom,{sParentAdresse}[i+1]..Nom+"."+{sChampNom,indChamp}..Nom+i) //{{sParentAdresse}[1]..Nom+"."+sChampNom}..X*i/i,{{sParentAdresse}[1]..Nom+"."+sChampNom}..y*i/i) FIN // SI {sChampAdresse,indChamp}..Type _DANS_(typOnglet,typSuperChamp) ALORS ListeChamps(sChampAdresse) sChampNom = EnumèreChamp({sParentAdresse}[1], nIndiceChamp) FIN FIN //SINON // //- L'objet parent n'est pas un onglet // sChampNom = EnumèreChamp(sParentAdresse, nIndiceChamp) // TANTQUE sChampNom <> "" // nIndiceChamp ++ // // ChampClone() // // sChampAdresse = sParentAdresse + "." + sChampNom // Trace(sChampAdresse) // i++ // SI {sChampAdresse,indChamp}..Type _DANS_(typOnglet,typSuperChamp) ALORS ListeChamps(sChampAdresse) // sChampNom = EnumèreChamp(sParentAdresse, nIndiceChamp) // FIN FIN //info(COMBO_Contacts..ValeurMémorisée) //ExécuteTraitement(LireMessages,trtProcédure,(COMBO_Contacts..ValeurMémorisée))
donc ton probleme est que si tu selectionne deux contacts t'as 2 fenetre interne deux zones repetés etc.. c ça ?
alors c normal si ta boucle dis que si tu deux contact selectionnées qu'il fasse le meme traitement deux fois POUR i=1 À tabContact..Occurrence
justement le résultat est juste seulement pour le 1er, mais le 2éme contact , il clone 2 fois la Fenetre interne et le troisiéme contact 3 fenetre interne, ect...
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! bientôt tu vas cloner tout le projet Cliquez pour agrandir...
Je reprend le clonage de la zone répétée. voila l'exemple teste : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! exécute juste la fenêtre Message. NB : J'ai oublié de préciser que le projet est en C/S et en Version 23 de WM.