Inserer un ligne au lieu de saisie

Bonjour,

Est-ce que tu as vu que je t'ai envoyé un message privé ?

En haut à droite ...

ric

Oui merci beaucoup

Bonjour,

Call Vérifier_Quantité_Sortie > l'on retrouve 4 fois cet appel ...

Est-ce que c'est une macro que tu as enlevée temporairement ? > Ou définitivement ?

ric

Bonjour c'est définitivement

Bonjour,

Je tente de trouver la séquence exacte qui donne les doublons > à date sans succès ...

Selon les dizaines de tests que j'ai effectués > il semble que ce ne soit que le compte ADMIN qui soit affecté de ce souci ...

Je continue la recherche ...

ric

Ok merci RIC moi aussi je sais pas pourquoi les valeurs en doubles

Bonjour,

Un pas en avant > j'ai trouvé une séquence qui fait apparaître les doublons ...

Ouvrir le fichier sur Admin > se rendre sur l'onglet Sorties >
Cliquer sur le crayon pour appeler le formulaire > développer Magasin, c'est correct > bouton Annuler ...

Se rendre sur l'onglet Entrées ...
Cliquer sur le crayon pour appeler le formulaire > développer Magasin, c'est correct > bouton Annuler ...
Cliquer sur le crayon à nouveau pour appeler le formulaire > développer Magasin, tadaaaa ...

On ferme le fichier avec ou sans sauvegarder et l'on reproduit ces étapes > le bogue apparaît à nouveau ...

Il semble y avoir une interaction entre les combobox "Magasin" des 2 formulaires ...

Idem pour les autres comptes > le doublon se révèle après cette séquence ...

ric

Bonjour,

Je vérifie le code de bout en bout et c'est ardu > il y en a beaucoup ...

Pour avoir un beau projet tendant à être bien codé ...

Il faudrait > tout au haut de chaque module ou formulaire > ajouter "Option Explicit" afin d'obliger à déclarer les variables ...

Ensuite > menu "Débogage" > "Compliler VBAProject" > à chaque fois qu'il s'arrête sur une variable non déclarée > il faudrait corriger en la déclarant correctement ...

Aussi : Dim Formule, MaRéfbs, MaPièce, macate, madesi, maref, mauni, mats, MonTechnicien, MesObservations, Mesmagasin As String ...
Sur cette ligne, seule la variable "Mesmagasin" est typée as String > toutes les autres se retrouvent par défaut de type "variant" ...
Il serait bien de les typer correctement > selon qu'elles doivent stocker du texte, un entier, une plage, une feuille > etc ...

TB_Magasin est un combobox > TB laisse croire qu'au début > c'était un TextBox ...
Pour un combobox > perso > je préfèrerais CB_Magasin > c'est plus facile d'identifier le type d'objet ...

Avec tout cela > si tu t'y atèles > tu vas en avoir jusqu'à l'an prochain ...

Je continue ma recherche du doublon récalcitrant se présentant inopinément ...

ric

Bonjour,

Devant cette incompréhension de doublons > j'ai renommé les TB_Magasin des différents formulaires afin de mieux suivre dans le code > et j'ai modifié le code en conséquence ...

UF_Entrées.TB_MagasinE
UF_Sorties.TB_MagasinS
UF_Pièces.TB_MagasinP

Ça m'a permis de franchir un autre pas vers cette coquille ...

Dans la macro "Sub autoriser(Utilisateur As String)"
Il y a ces deux lignes ...

UF_Entrées.TB_MagasinE.Clear
UF_Sorties.TB_MagasinS.Clear

Si l'on inverse ces 2 lignes > la séquence pour faire apparaître les doublons se retrouve inversée elle aussi ...

UF_Sorties.TB_MagasinS.Clear 
UF_Entrées.TB_MagasinE.Clear

J'espère trouver cette coquille avant l'année prochaine > c'est proche > il faut mettre les bouchées doubles ...

ric

Bonjour,

Tu as dû recevoir le fichier ...

La 2e fois que l’on ouvre le même formulaire ...

Pour des raisons que je ne saurais expliquer, « UF_Entrées.TB_MagasinE.Clear » ou « UF_Sorties.TB_MagasinS.Clear » selon le formulaire concerné … s’exécutait > mais le combobox ne se vidait pas avant d’être alimenté à nouveau > d’où les doublons.

J’ai triplé les lignes vidant les combobox > là > ça fonctionne correctement.

Avoir triplé ces lignes, ne crée pas de délais d’attente > mais corrige le souci > ce n’est peut-être pas la bonne méthode pour corriger le souci > mais les doublons n’apparaissent plus.

Si un jour je trouve une solution plus propre ...

ric

Bonjour,

En fin de comtpe > ceci conviendrait probablement mieux ...

Sub Autoriser(Utilisateur As String)
Dim Col As Byte, i As Byte, lig As Integer

With Sheets("Autorisation")   'dans la feuille paramétrage

      ''comme on va boucler de la colonne 4 à la dernière colonne, on stocke le n° de la dern colonne :
      Col = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column

      ''on cherche colonne A le nom d'utilisateur saisi et on stocke son num de ligne
      lig = Application.Match(Utilisateur, .Columns(1), 0)

      Do While UF_Entrées.TB_MagasinE.ListCount > 0
         UF_Entrées.TB_MagasinE.RemoveItem (0)
      Loop
      Do While UF_Sorties.TB_MagasinS.ListCount > 0
         UF_Sorties.TB_MagasinS.RemoveItem (0)
      Loop
      Do While Transfer.ComboBox1.ListCount > 0
         Transfer.ComboBox1.RemoveItem (0)
      Loop

      For i = 3 To Col
         If UCase(.Cells(lig, i)) = "X" Then   'si on trouve un "X" dans la cellule
            UF_Entrées.TB_MagasinE.AddItem .Cells(1, i).Value
            UF_Sorties.TB_MagasinS.AddItem .Cells(1, i).Value
            Transfer.ComboBox1.AddItem .Cells(1, i).Value
         End If
      Next i
   End With
End Sub

ric

Oui bonjour RIC

je m'excuse pour le retard alors j'ai fait toutes les modifications que tu mets et en fin ça fonctionne correctement merci beaucoup pour votre aide

cordialement

Bonjour
Quelqu'un peut-il m'aider s'il vous plaît

Il existe un transfert de formulaire utilisateur1

En raison du grand nombre de catégories, j'ai ajouté listbox1 au formulaire

Lorsque les données sont transférées vers la listbox, cela fonctionne correctement, mais lorsqu'elles sont transférées vers la feuille de calcul, elles n'enregistrent ni ne transfèrent l'inventaire. Il y a une erreur et je n'en connais pas la raison.

Rechercher des sujets similaires à "inserer ligne lieu saisie"