Je viens enfin de provoquer ton défaut
Mais avec une manière d’opérer très particulière qui n’est en aucun cas c’elle qui doit l’être
A partir de l’éditeur de macro j’ai exécuté la macro « Bouton21_Cliquer » qui ouvre le formulaire « Ajouter_un_article » seul
Le souci lorsque tu remplis celui-ci et que tu exécutes son bouton « Ajouter » tu alimentes des données saisies l’onglet « BASE PRODUITS » celles-ci étant associées à un tableau
Si celui-ci est actif à l’écran dés que la première donnée en colonne A est intégrée la deuxième en colonne B se bouscule avec la nécessité pour le tableau de s’agrandir d’une ligne
Ces 2 opérations simultanée ne peuvent s’opérer en même temps c’est obligatoirement l’une aprés l’autre
C’elle de l’actualisation de la dimension du tableau prend le pas empêchant le déroulement du code du bouton « Ajouter » ce qui engendre le Bug
Si au moment de ce plantage du réalises « Débogage » tu tombes sur la ligne de code qui doit alimenter la colonne B de cet onglet
Un appui sur la touche « F5 » réenclenche le déroulement de cette procédure jusqu’à son terme avec la ligne de l’onglet complétée sur toute les colonnes
Donc ton dysfonctionnement n’a rien à voir à une anomalie quelconque de ton fichier ou de ces traitements mais simplement 2 opérations qui veulent s’exécuter en même temps l’une empêchant l’autre
Il aurait fallu que les données de ton onglet « BASE PRODUITS » ne soit pas associées à un tableau
L’utilisation par le biais normal (Bouton onglet « Appli » formulaire « Test multipage » bouton « Ajouter Article ») offre l’avantage d’avoir actif à l’écran un onglet qui n’est pas celui à alimenter donc du tableau à redimensionner
J’ai testé le déroulement décrit ci-dessus à partir de l’éditeur de macro avec un onglet actif à l’écran autre que « BASE PRODUITS » et plus aucun souci
Je te propose ce fichier ci-joint avec une ligne de code rajoutée dans le traitement bouton « Ajouter » du formulaire « Ajouter un Article » ici :
avant
ligne = Sheets(« BASE PRODUITS »).Range(« A1000 »).End(xlUp).Row + 1
Cells(ligne, 1) = ComboBox1.Value
aprés
ligne = Sheets(« BASE PRODUITS »).Range(« A1000 »).End(xlUp).Row + 1
On Error Resume Next
Cells(ligne, 1) = ComboBox1.Value
Et plus aucune difficulté
Donc à toi de choisir
Soit cette adaptation
Soit éviter l’onglet « BASE PRODUITS » actif à l’écran lors de l’ajout d’un enregistrement par le formulaire « Ajouter un Article »
Soit supprimer le tableau pour les données de l’onglet « BASE PRODUITS »
A toi de faire ton choix
Ton fichier avec la parade du bug
Gestion-de-stock-consommables-informatiques.xlsm (2,0 Mo)