Bonjour a tous,
C'est mon premier post, je vais tenter d'etre clair!
Je debute sur vba, mais j'apprends. (par avance, desole pour les accents, je me trouve en estonie…)
Je vais essayer de vous expliquer mon fichier.
Un utilisateur remplit un userform (nomme add_ref) . Apres avoir marque une reference de piece (dans une textbox), il doit indiquer les process utilises dans des ComboBox.
20 combobox sont presentes et affichees de maniere vertical. Leur nom est au format ComboBox(de 1 a 20)
A cote de ces box, j'ai indique un label qui a pour caption une valeur allant de 1 a 20.
Je voudrais, pour chaque combobox remplie, qu'il cree une ligne dans mon tableau avec le numero du label correspondant et la ref.
Pas de soucis avec le tableau en lui-meme, mon soucis est que:
- Lorsque ma macro tourne, la colonne correspond a l'ordre, se remplie bien.
- la colonne avec l'ID du process se remplie bien pour le premier process mais il conserve l'id du premier process pour les lignes suivantes au lieu de les actualisees!
je vais vous donner un exemple:
Dans ma table (sheet6):
ID process
1 ouvrir la porte
2 ranger la vaisselle
3 nourrir le chien
4 faire le vidange
Dans mon userform si je dis:
Label_1 (donc etape 1) -> Nourir le chien
Label_2 ( etape 2) -> ouvrir la porte
J'attend deux lignes supplementaires dans mon tableau:
Ordre IDProcess
1 3
2 1
Actuellement, il m'affiche:
Ordre IDProcess
1 3
2 3
Dim I as integer
Dim IDprox as integer
'idprox correspond a l'ID du process selectionne dans la combobox (chaque etape est associee a un chiffre dans une feuille database excel)
IDprox = Application.WorksheetFunction.Index(Range("A:F"), WorksheetFunction.Match(Add_ref.Controls("ComboBox" & i), Range("b:b"), 0), 1)
For i = 1 To 3
If (Add_ref.Controls("ComboBox" & i)) <> "" Then
Sheet5.Activate
'= line to fill
Newlinepro = Cells(1, 4).End(xlDown).Row + 1
Cells(Newlinepro, 3).Value = IDprox
Cells(Newlinepro, 4).Value = Add_ref.Controls("Label_" & i).Caption
Else
End If
Je pense avoir ete tout ce qu'il y a de plus incomprehensible mais j'espere que l'exemple est assez clair!
Merci de me venir en aide! Bonne journee a tous!