Bonsoir Richard,
Bon... Vu que tu vas essayer de mieux t'y prendre dans ce forum... et vu que je ne suis pas rancunier...
J'ai passé un moment sur ton fichier.....
Alors première correction :
La signature du userform "Richard XX (c)" en "Richard XX (Open Source)"... Quand même !! Tu n'es pas encore au niveau pour te faire des copyrights... Merci d'avance...
Ensuite ON NE PEUT PAS nommer de manière identique des TextBoxs et des Variables... Exemple "AnneeContrat = AnneeContrat.Value"
(j'ai viré les accents au passage...ce n'est pas une source de plantage immédiat, mais je n'aime pas çà, et justement dans le post "FIABILITE VBA REMISE EN QUESTION" c'est souvent à cause de petites "conneries" comme çà qu'un jour sur une autre machine avec une autre version d'Excel çà ne marche plus)
Donc j'ai renommé tes 12 Textboxs avec l'extension "TB" (TBAnneeContrat...etc)
Ensuite ON NE DOIT PAS utiliser une instruction "On Error GoTo" tant que l'on est en phase de construction du code..... Tu perds complètement le bénéfice du Debuger... Donc c'est UNIQUEMENT lorsque l'on a fini la routine et qu'elle est testée et re-testée que l'on peut gérer les Erreurs..... Si VBA te laisse cette possibilité ce n'est pas pour faire n'importe quoi comme code et de ce dire "je vire les erreurs avec cette instruction magique"... de toutes les manières si ton code est imparfait çà ne marchera jamais... donc "On Error", vous l'oubliez tant que çà ne marche pas.
Ensuite ON DOIT SAVOIR DECLARER les variables ou alors on les déclare "Dim Toto as Variant"... au moins çà passera... Bien sûr ce n'est pas l'idéal (Variant est gourmand en ressource) mais ce sera toujours mieux que de tout déclarer "as string" comme tu as fait....
Ensuite ON COPIE/COLLE UN CODE, ON ESSAIE DE LE COMPRENDRE un minimum... Ce midi je t'explique en détail la variable "compteur" et ce soir tu ne l'a même pas intégrée correctement... Pourtant je pensais avoir été clair ... "Ben il suffit de rajouter une variable "compteur" de type integer (à moins que tu aies plus de 32767 en quantité...) et de dire qu'à chaque boucle on incrémente par "compteur = compteur + 1"...
Il faut aussi dire avant la boucle que "compteur = 1" car sinon la première valeur pour VBA serait 0..." mais bon.... Compteur = 1 tu l'as zapé....
Ensuite... ON DOIT TESTER ET RE-TESTER... et comme j'avais pas envie de saisir dans tes 12 Textboxs... J'ai rajouté un bouton "Copie" comme çà on récupère une ligne déjà saisie dans le userform.... Si çà ne te sert pas tu n'auras qu'à le virer quand tu auras testé et re-testé....
Pour finir, j'ai pensé que la valeur qui va être le multiple de répétition de ligne est EPISODE ... Mais en fait tu ne l'as expliqué nul part... et dans ta macro tu avais laissé QUANTITE de ma démo.. pour cette variable (çà ne risquait pas de marcher non plus)... Si ce n'est pas ce champs... Dis-toi bien que tu as maintenant tous les éléments, et que tu dois arriver à t'en sortir....
Bon ben voilà ton appli prend forme... Je pense que tu n'as plus grand chose à faire... Bien sûr il sera facile de faire croire à ton entourage que tu as développé ce programme... Mais si tu remets cette signature Richard XX(c)... à chaque fois que tu activeras ce UserForm dis-toi que j'ai probablement fait dans les 2000 applications diverses qui tournent impecs... et que je n'en ai jamais "vérouillée" ou "signée" avec un (c) car j'ai eu la chance, comme toi aujourd'hui,... que des gens comme Laurent Longre, Frédérique Sigonneau, Clément Marcote, Chris V, Denis Michon, J@C, STéphane Royer (qui est souvent ici aussi); et plus récemment Ti... qui m'apprennent le VBA... Ce que je sais faire je le dois à des gens comme çà et l'humilité est de mise.
Bon ben j'ai encore été long de chez long
Bonne nuit
@+Thierry