XL 2013 modifier article avec de listbox a text box et retour feuil

CGU2022.

XLDnaute Junior
Bonjour
Quand je modifie un article avec textbox et combobox j'ai un espace qui se met dans les ligne du tableau de la feuille "articles"et qui apparait dans l'userform ci dessous..

Dans la feuille article on démarre userform.....avec Dans la feuille article on démarre userform.....avec
Regarde la pièce jointe 1127031
dans la recherche il faut mettre un espace ou mot pour avoir tous les articles....
1641740373148.png

et à chaque fois que j'ouvre l'UserFormmodifierarticle (il faut sélectionner une ligne dans la listbox1)

il se rajoute un espace dans la feuille, les textbox et combobox de ce fait mes valeurs se retrouvent vers le centre à force de modifications...


1641740597800.png

1641740704491.png



si je modifie une textbox la nouvelle saisie se remet tout à gauche......
mais le but de la modification est de ne pas tout ressaisir..


Dans un second temps si quelqu'un a une idée pour recharcher la listbox1 a mon retour de l'UserFormmodifierarticle.
la seule idée qui marche et un recharge de l'userform principal en bas du code.
Il y a peut etre un lien direct qui peut se faire entre la liste box1 et la feuille Articles !!!!! 'sans reloader'..

Merci aux Ames charitables ;) et bonne semaine...
 

Pièces jointes

  • 1641739694432.png
    1641739694432.png
    14.3 KB · Affichages: 22
  • test - 9-01-2202.xlsm
    224.2 KB · Affichages: 20

ChTi160

XLDnaute Barbatruc
Bonjour
Pour ce qui est des espaces tu as une fonction Trim() qui peut supprimer ici lors du transfert les espaces éventuels.
Ex :
VB:
Cells(1,1)=Trim(TexBox1.Text)
'ou l'inverse
TextBox1=Trim(Cells(1,1).Text
A voir
jean marie
ps depuis mon téléphone !
 

GALOUGALOU

XLDnaute Accro
re christophe bonsoir le forum, bonsoir cp4 bonsoir chti160
coucou cp4 (j'ai trouvé une listobox dans l'userform recherche)

re christophe
dans la recherche il faut mettre un espace ou mot pour avoir tous les articles....
l'userform n'est pas initialisé donc la listox ne charge aucunes données à l'ouverture
pour le reste je n'ai pas encore regardé
cdt
galougalou
 

cp4

XLDnaute Barbatruc
re christophe bonsoir le forum, bonsoir cp4 bonsoir chti160
coucou cp4 (j'ai trouvé une listobox dans l'userform recherche)

re christophe

l'userform n'est pas initialisé donc la listox ne charge aucunes données à l'ouverture
pour le reste je n'ai pas encore regardé
cdt
galougalou
@GALOUGALOU ;), Je me suis strictement limité à ce qu'il a écrit
et à chaque fois que j'ouvre l'UserFormmodifierarticle (il faut sélectionner une ligne dans la listbox1)
 

GALOUGALOU

XLDnaute Accro
Oui effectivement tu as raison cp4, pas évident de trouver la problématique ;
nous qui sommes étranger au projet, il faut déjà décortiquer la demande.
Si je traduis
En ouvrant le formulaire avec le bouton dans la feuille, la listbox visible est vide, ce qui oblige à faire une saisie dans la textbox recherche pour que cette même listbox se remplisse.

Il serait nécessaire que la listbox soit remplie pour sélectionner une ligne afin d'ouvrir le deuxième formulaire de modification, et que celui-ci ne soit pas vide d'information.

Si christophe peut nous confirmer afin de ne pas chercher dans tous les sens ça nous aiderait.
cdt
galougalou
 

CGU2022.

XLDnaute Junior
Oui effectivement tu as raison cp4, pas évident de trouver la problématique ;
nous qui sommes étranger au projet, il faut déjà décortiquer la demande.
Si je traduis
En ouvrant le formulaire avec le bouton dans la feuille, la listbox visible est vide, ce qui oblige à faire une saisie dans la textbox recherche pour que cette même listbox se remplisse.

Il serait nécessaire que la listbox soit remplie pour sélectionner une ligne afin d'ouvrir le deuxième formulaire de modification, et que celui-ci ne soit pas vide d'information.

Si christophe peut nous confirmer afin de ne pas chercher dans tous les sens ça nous aiderait.
cdt
galougalou
Bonjour GALOUGALOU
A priori pas de problème au chargement du deuxième userform (modifier un article) les valeur se chargent mais se décalent avec un espace à chaque modification et réouverture de l'article à modifier (via l'userform)... voir ci dessous et de ce fait quand ca repars vers ma feuille et cela se décale dans le tableau1......
1641757553637.png

Bonjour
Pour ce qui est des espaces tu as une fonction Trim() qui peut supprimer ici lors du transfert les espaces éventuels.
Ex :
VB:
Cells(1,1)=Trim(TexBox1.Text)
'ou l'inverse
TextBox1=Trim(Cells(1,1).Text
A voir
jean marie
ps depuis mon téléphone !
Bonjour Chti160 je vais tester...
C'est impressionnant quand on commence a travailler avce vba on avance 1,2,3,4 et faut repartir à -2.. :) :) Et c'est addictif.... ;)
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
Pour imager mon propos.
je n'ai surement pas compris la démarche le pourquoi du Comment Lol
ex Pourquoi mettre " * " ? avec des espaces aux extrémités !
* étant un caractère de gestion des Caractères ex dans Like "*xxxx*"
VB:
TblTmp = Rng.Value
            For i = LBound(BD) To UBound(BD)
              ReDim Preserve choix(1 To i)
              For Each K In ColVisu
                choix(i) = choix(i) & Trim(BD(i, K)) & "*" 'Ici'
              Next K
            Next i
   '--- valeurs initiales dans ListBox
   Dim Tbl(): ReDim Tbl(1 To UBound(BD), 1 To ncol)
   For i = 1 To UBound(BD)
      c = 0
      For Each K In ColVisu
        c = c + 1: Tbl(i, c) = Trim(BD(i, K))'Ici'
      Next K
   Next i
autre question :
Pourquoi mettre
VB:
  Cells(Label_numeroligne.Caption, 9) = Format(Me.Txt_F1.Value, "#0.00 €")
  Cells(Label_numeroligne.Caption, 10) = Format(Me.Txt_F2.Value, "#0.00 €")
  Cells(Label_numeroligne.Caption, 11) = Format(Me.Txt_F3.Value, "#0.00 €")
  Cells(Label_numeroligne.Caption, 12) = Format(Me.Txt_F4.Value, "#0.00 €")
  Cells(Label_numeroligne.Caption, 13) = Format(Me.Txt_F5.Value, "#0.00 €")
une autre version
Code:
Private Sub Cmd_modifier_Click()
Dim i As Byte
'Récupere les valeurs des txtbox ,combobox en fonction de la colonne (Label_numeroligne.Caption) dans l'unserform (UserFormmodifierarticle)

    Cells(Label_numeroligne.Caption, 2) = Me.Cbx_budget
    Cells(Label_numeroligne.Caption, 3) = Me.Cbx_marque
    Cells(Label_numeroligne.Caption, 4) = Me.Cbx_nature
    Cells(Label_numeroligne.Caption, 5) = Me.Cbx_type
    Cells(Label_numeroligne.Caption, 6) = Me.Cbx_classe
    Cells(Label_numeroligne.Caption, 7) = Me.Cbx_dimension
    Cells(Label_numeroligne.Caption, 8) = Me.Cbx_unité
   For i = 1 To 5
        Cells(Label_numeroligne.Caption, 8 + i) = CCur(Trim(Me.Controls("Txt_F_" & i).Value))
   Next i
Bonne Journée
Jean marie
 
Dernière édition:

Discussions similaires

Réponses
16
Affichages
596

Statistiques des forums

Discussions
314 716
Messages
2 112 162
Membres
111 447
dernier inscrit
jasontantane