Usf - dv 5 niveaux

Regueiro

XLDnaute Impliqué
Bonsoir le Forum
J'essaie d'adapter un code de Boisgontier.
Je vous joint mon fichier.
Mon souhait voir sur la feuille "DEVIS"
Merci de votre aide.
 

Pièces jointes

  • ERP LOGICO MSIT - 2012.02.16.xlsm
    31.6 KB · Affichages: 159
  • ERP LOGICO MSIT - 2012.02.16.xlsm
    31.6 KB · Affichages: 161
  • ERP LOGICO MSIT - 2012.02.16.xlsm
    31.6 KB · Affichages: 159

Regueiro

XLDnaute Impliqué
Re : Usf - dv 5 niveaux

Bonsoir le Forum.
J'ai progresser un peu par tatonnement.
J'arrive alimenter les Combobox, mais j'ai un problème de rangement des données
dans la feuille DEVIS.
Je vous joint mon fichier XLSM
Bonne soirée.
Merci
 

Pièces jointes

  • ERP LOGICO MSIT - 2012.02.16.xlsm
    32.6 KB · Affichages: 154
  • ERP LOGICO MSIT - 2012.02.16.xlsm
    32.6 KB · Affichages: 156
  • ERP LOGICO MSIT - 2012.02.16.xlsm
    32.6 KB · Affichages: 163

Regueiro

XLDnaute Impliqué
Re : Usf - dv 5 niveaux

Bonjour.
Dans le fichier en PJ j'ai mis les explications.
Voir cellule D11 et E11; D12 et E12
En fait j'aimerais que le code s'inscrive sur la colonne D
Et le texte désignation en colonne E.
Merci de votre aide.
A+
 

Bebere

XLDnaute Barbatruc
Re : Usf - dv 5 niveaux

bonjour Regueiro,Hervé
changements dans code liste et code bouton
à bientôt
 

Pièces jointes

  • ERP LOGICO MSIT - 2012.02.16.xlsm
    29.3 KB · Affichages: 177
  • ERP LOGICO MSIT - 2012.02.16.xlsm
    29.3 KB · Affichages: 171
  • ERP LOGICO MSIT - 2012.02.16.xlsm
    29.3 KB · Affichages: 156

Regueiro

XLDnaute Impliqué
Re : Usf - dv 5 niveaux

Bonjour le Forum et Hervé
Je te remercie pour ton code.
J'essaie de comprendre et j'ai quelques questions :

Private Sub UserForm_Initialize()
Set d = CreateObject("scripting.dictionary")
For Each c In Application.Index([bd], , 1)
If c <> "" Then
temp = c.Value & c.Offset(, 6).Value
d(temp) = ""
End If
Next c
Me.ComboBox1.List = Application.Transpose(d.keys)
Me.ComboBox1.SetFocus
SendKeys "{F4}"
End Sub
Private Sub ComboBox1_Click()
liste (2) 'Si j'ai bien compris la Combobox1 et alimenter par liste (2), ou se trouve liste (2)
End Sub
Private Sub ComboBox2_Click()
liste (3)
End Sub
Private Sub ComboBox3_Click()
liste (4)
End Sub
Private Sub ComboBox4_Click()
liste (5) ' La Combobox est alimenter comment
End Sub
Sub liste(col)
Set d = CreateObject("scripting.dictionary")
For Each c In Application.Index([bd], , col)
If c.Value <> "" Then
If Left(c, col - 1) = Left(Me("ComboBox" & CStr(col - 1)), col - 1) Then 'changer pour avoir - partout ??
If Left(c.Offset(, 7 - col).Value, 3) = " - " Then
temp = c.Value & c.Offset(, 7 - col).Value
Else
temp = c.Value & " - " & c.Offset(, 7 - col).Value
End If
d(temp) = ""
End If
End If
Next c
If d.Count > 0 Then
Me("ComboBox" & CStr(col)).List = Application.Transpose(d.keys)
Me("ComboBox" & CStr(col)).SetFocus
SendKeys "{F4}"
Else
Me("ComboBox" & CStr(col)).Clear
End If
End Sub
Private Sub CommandButton1_Click()
'Pourrais-tu m'expliquer le code ci-dessous
'Dans la cellule active de la feuille "Devis"
lig = ActiveCell.Row
'Cellule( ligne, colonne 4 ??
Cells(lig, 4) = Trim(Mid(ComboBox2, 1, InStr(ComboBox2, "-") - 2))
Cells(lig, 5) = Trim(Mid(ComboBox3, InStr(ComboBox3, "-") + 2))
lig = lig + 1
Cells(lig, 4) = Trim(Mid(ComboBox4, 1, InStr(ComboBox4, "-") - 2))
Cells(lig, 5) = Trim(Mid(ComboBox5, InStr(ComboBox5, "-") + 2))
Unload Me
End Sub
Merci de vox explications
 

Bebere

XLDnaute Barbatruc
Re : Usf - dv 5 niveaux

Bonjour Regueiro
dans les cellules la colonne J,tu as du texte qui commence par -
le code se base sur ce caractère pour séparer le code de l'article de la désignation de l'article
d'ou
If Left(c, col - 1) = Left(Me("ComboBox" & CStr(col - 1)), col - 1) Then 'changer pour avoir - partout ??
If Left(c.Offset(, 7 - col).Value, 3) = " - " Then
temp = c.Value & c.Offset(, 7 - col).Value
Else
temp = c.Value & " - " & c.Offset(, 7 - col).Value
End If
et dans le code du bouton appeler l'aide (Touche fonction F1),avant mettre le curseur sur le mot clé(exemple trim,mid,left,instr,etc)
tu devrais nous expliquer comment tu veux classer tes fournitures(demande de Hervé)
ce qui est fait me semble inadapté
 

Regueiro

XLDnaute Impliqué
Re : Usf - dv 5 niveaux

Salut Bebere
En fait j'ais mis (-) dans la colonne J parceque cela me permet d'avoir une séparation dans les Combobox
Exemple (2.001. - FLA) question de visualisation.
Peut-être que tu as une autre solution en VBA pour séparer 2.001. avec le texte

Dans mon fichier joint j'ai réussi à modifier ton code et j'obtiens ce que je veux.
Mais j'ai un problème avec les Combobox, voir dans "Devis" mes 2 erreurs.

Dans mon USF lorsque je selectionne dans la combobox3 ( 2.001.002. ) dans la combobox4
( 2.001.001. ) ne devraient pas apparaître.
Je ne sais pas si je me suis bien expliquer.

MERCI de ton attention

ScreenShot050.png
 

Pièces jointes

  • ERPLOGICO%20MSIT%20-%202012.02.16(1).xlsm
    103.1 KB · Affichages: 125

Bebere

XLDnaute Barbatruc
Re : Usf - dv 5 niveaux

Regueiro
patience pour moi rien ne presse
pour simplifier dans le code,enlever les - de la feuille
ils sont placés par code
changé le code pour la cascade en partie

ajout d'un select case
pour remplir la 2ème combobox tu as assez avec le 1er chiffre
pour les autres il faut comparer avec le code extrait de la combobox et la valeur de la cellule
l'ancien code est laissé en commentaires
mis des commentaires
pour apprendre tu actives la fenêtre variables locales et tu exécutes le code pas à pas(touche fonction F8)
il est intéressant de déclarer les variables
à bientôt
 

Pièces jointes

  • ERPLOGICO MSIT - 2012.02.16(1).xlsm
    97.5 KB · Affichages: 127

Regueiro

XLDnaute Impliqué
Re : Usf - dv 5 niveaux

Bonsoir le Forum et Bebere.
Merci pour ta patience et ton code.
C'est exactement ce que je cherchais.
J'ai encore 2 questions ?
1. Est-il possible de colorier ou griser une ligne sur 2 dans les combobox ?
2. Est-il possible de ranger dans une cellule la valeur de 2 combobox.
Je m'explique, quand je choisis
- 2.001. ACIERS MARCHANDS
- 2.001.001.001.001 FLA PLATS S235 JR / EN 10025 - FLA 10 / 3
En fait prends la valeur de 2.001.001.001 (-) 2.001.001.001.001
Merci de votre Réponse,
Je vous joints mon fichier
A+
 

Pièces jointes

  • ERPLOGICO MSIT - 2012.02.21.xlsm
    36.6 KB · Affichages: 133

Discussions similaires

Réponses
4
Affichages
362

Statistiques des forums

Discussions
311 720
Messages
2 081 923
Membres
101 840
dernier inscrit
SamynoT