Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Probleme USERFORM

eric72

XLDnaute Accro
Bonjour a tous,
Dans le fichier ci-joint j'ai deux boutons "Ajouter un client" et "Ajouter une prestation", et lorsque je crée l'un ou l'autre il bug sur l'export de la 1ère ligne et je ne comprends pas du tout pourquoi.
Après quelques heures de recherche je m'en remet à votre savoir.
Merci beaucoup pour votre aide.
Eric
 

Pièces jointes

  • test.xlsm
    685 KB · Affichages: 31

eric72

XLDnaute Accro
J'ai testé un truc, j'ai enregistrer sous mon fichier et j'ai recopié un a un les codes et ca a l'air de fonctionner,
Peut être que le fichier était corrompu, je ne sais pas, a voir à l'usage!!!
 

Dudu2

XLDnaute Barbatruc
Je pense que le noms du tableau structuré "BaseDeDonnéesClients" a un problème indéterminé.
J'ai des erreurs impossibles sur une simple Tbl.ListRows.Add que je n'ai pas si j'en change le nom.
Je vérifie ça ce soir et te renvoie un code. On trouvera !!!
 

Dudu2

XLDnaute Barbatruc
Je ne sais pas du tout pourquoi ces 2 noms de tabeaux structurés ("BaseDeDonnéesClients" et "BaseDeDonnéesPrestations") génèrent une vrai panique dans le code.
Je les ai renommés ("BDClients" et "BDPrestations") et ça a l'air de passer.

Ce que j'ai fait aussi, c'est d'utiliser en VBA les références aux objets des tableaux structurés ("BDClients" et "BDPrestations") au lieu d'utiliser les coordonnées feuille du contenu des tableaux. Les tableaux structurés peuvent être déplacés, le code reste valide. De plus la gestion de l'insertion / suppression de ligne est aussi spécifique au Tableaux structurés. Bref c'est un peu plus compliqué au niveau syntaxe, mais quand on a compris comment ça marche c'est infiniment plus efficace et sûr.

Pour éviter les .Activate de feuilles aller / retour et les Application.ScreenUpdating = False / True, j'ai utilisé la qualification complète des données pour les valoriser au lieu de faire référence à l'ActiveSheet.

Mes modifs s'appliquent donc au code des 4 UserForms ("UsfClients", "UsfModifierClients", "UsfPrestations", "UsfModifierPrestations"). Je n'ai pas touché au reste.

Une petite modif aussi sur les fonctions Protect et UnProtect en ajoutant le nom de la feuille optionnel pour ne pas toujours faire référence (encore) à l'ActiveSheet.
 

Pièces jointes

  • test-1.xlsm
    635.3 KB · Affichages: 8
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…