Code VBA mets automatiquement la sortie

Bonjour j'ai un probléme avec mon tableau de VBA

quand j'essaye d'ajouter une entrée sortie je clique sur entrée mais dans le fichier il me mets en sortie, j'ai pas de code d'erreur mais dans le tableau meme si je clique pas sur sortie se mets automatiquement

dans l'ongle Entrée - Sortie ajouter un mouvement de pne

18stock-pneus.zip (734.17 Ko)

Bonjour,

quand j'essaye d'ajouter une entrée sortie je clique sur entrée mais dans le fichier il me mets en sortie, j'ai pas de code d'erreur mais dans le tableau meme si je clique pas sur sortie se mets automatiquement

Vous ajoutez avec quelle USF ?
Il y a deux boutons sur les USF votre problème est avec le bouton 1 ou le bouton 2

Il faudrait comprendre comment vous utilisez votre fichier

Crdlt

Première boutons ajouter stock pneu

Première boutons ajouter stock pneu

Avec ce bouton vous n'ajoutez rien dans la feuille. C'est le bouton Enregistrer (donc bouton 2) qui ajoute dans votre feuille Juste ou pas ?

Le bouton 1 ("Ajouter") est utilisé pour compléter votre lisbox list_order. Une fois terminé vous cochez entrée ou sortie ?


Edit :

En attendant réponse à mon courrier ci-avant, voici déjà une proposition que vous pouvez tester :

1. Au dessus de tous vos codes en dessous de "option explicit", mettez cette ligne

Dim TypeMvt As String

2. Modifiez vos deux codes ci-dessous

Private Sub option_entree_Click()
TypeMvt = option_entree.Caption
End Sub

Private Sub option_sortie_Click()
TypeMvt = option_sortie.Caption
End Sub


3. Dans le code Private Sub CommandButton2_Click()
, juste en dessous de la déclaration des variables Dim, ajoutez cette ligne

If TypeMvt = vbNullString Then MsgBox "veuillez choisir une entrée ou une sortie": Exit Sub

4. Dans le code Private Sub CommandButton2_Click(), modifiez la ligne ci-dessous

.Cells(1, 2) = TypeMvt

Rem : après je vois que vous utilisez l'instruction Rowssource pour charger votre combo. A éviter. Préférez toujours la méthode ADDITEM ou LIST
Pour Modifier cliquez sur la combo dans l'USF :
- supprimez le text "reference" pneu (on le sait puisque vous avez un titre dans un label
- supprimez la valeur dans rowssource
Ensuite ajoutez ce code dans l'USF

Private Sub UserForm_initialize()
On Error Resume Next
cbx_pneu.List = Sheets("Pneus").ListObjects(1).ListColumns(1).DataBodyRange.Value
End sub

Exactement le bouton Enregistré prends tout la charge exécute , je vais essayé la formule que tu ma envoyé

capture d ecran 8

Bonjour j'ai cette erreur j'ai tout fait se que tu ma dit peux tu modifier le fichier et de envoyer sa sera plus facile ,,?

Bonjour

Bonjour j'ai cette erreur j'ai tout fait se que tu ma dit peux tu modifier le fichier et de envoyer sa sera plus facile ,,?

Logique si vous mettez 3 fois la même ligne alors qu'une seule est nécessaire
Relisez ce que j'ai écrit dans mon post précédent


Autre point que je ne vous ai pas écrit :
Dans l'USF,
1. Supprimez l'objet--> "label12"
2. Dans le code Private Sub CommandButton1_Click(), supprimez ces deux instructions

Me.info1 = "Entrée"
Me.info1 = "Sortie"

Si j'ai bien compris je doit juste mettre le code

dessous de "option explicit", mettez cette ligne que 1 fois car j'ai mits que 1 fois j'ai FAUX dans la feuille

capture d ecran 9
Dim TypeMvt As String

Si j'ai bien compris je doit juste mettre le code dessous de "option explicit",

Oui c'est ce que je vous ai écrit

Si vous avez un FAUX c'est que vous n'avez pas fait exactement ce que je vous ai écrit. Je n'ai pas de soucis sur votre fichier posté

Dans mon post précédent il y a 4 points, vérifiez que vous avez fait exactement ce que j'ai donné
Cela concerne l'USF ADD_Pneumouv bien entendu

Rechercher des sujets similaires à "code vba mets automatiquement sortie"