Combobox variable?
NOno
-
NOno -
NOno -
Bonjour,
Je suis novice en VBA et je suis en train d'écrire un programme pour gérer l'usure de plusieurs outils:
Je m'explique, j'ai créer un userform dans lequel un opérateur rentre son nom, référence de l'outil, commentaire etc... Toutes les données vont faire la feuil 2 de mon classeur.Si l'opérateur clique sur le optionbutton "outil en derive" alors dans ma feuil 2 la ligne devient colorée.
Je souhaiterai réaliser un autre userform avec un combobox qui vient chercher toutes les référence d'outils coloré!
Est ce possible?
Merci d'avance R.
Je suis novice en VBA et je suis en train d'écrire un programme pour gérer l'usure de plusieurs outils:
Je m'explique, j'ai créer un userform dans lequel un opérateur rentre son nom, référence de l'outil, commentaire etc... Toutes les données vont faire la feuil 2 de mon classeur.Si l'opérateur clique sur le optionbutton "outil en derive" alors dans ma feuil 2 la ligne devient colorée.
Je souhaiterai réaliser un autre userform avec un combobox qui vient chercher toutes les référence d'outils coloré!
Est ce possible?
Merci d'avance R.
A voir également:
- Combobox variable?
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
- Variable objet ou bloc "with" non définie - Forum VB / VBA
4 réponses
Bonjour lermite222, et le forum
Voici ce que j'ai déjà fait!
Premier userform
Private Sub CommandButton1_Click()
Dim colone As Long
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("A6650").End(xlUp).Row + 1
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("B6650").End(xlUp).Row + 1
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("C6650").End(xlUp).Row + 1
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("D6650").End(xlUp).Row + 1
'insère les valeurs des textbox dans la ligne suivant la dernière ligne pleine
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("A" & colone).Value = UserForm1.TextBox1.Value
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("B" & colone).Value = UserForm1.TextBox2.Value
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("C" & colone).Value = UserForm1.TextBox3.Value
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("D" & colone).Value = UserForm1.TextBox4.Value
'Colorie la ligne de tableau insérée en rouge (outil nok)
If OptionButton3.Value = True Then
Worksheets("Donnée").Range("A" & colone).Interior.ColorIndex = 3
Worksheets("Donnée").Range("B" & colone).Interior.ColorIndex = 3
Worksheets("Donnée").Range("C" & colone).Interior.ColorIndex = 3
Worksheets("Donnée").Range("D" & colone).Interior.ColorIndex = 3
End If
'Colorie la ligne de tableau insérée en orange (outil en derive)
If OptionButton2.Value = True Then
Worksheets("Donnée").Range("A" & colone).Interior.ColorIndex = 45
Worksheets("Donnée").Range("B" & colone).Interior.ColorIndex = 45
Worksheets("Donnée").Range("C" & colone).Interior.ColorIndex = 45
Worksheets("Donnée").Range("D" & colone).Interior.ColorIndex = 45
End If
'remet à zéro les textbox
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
End Sub
je voudrais que le combobox du second userform reprenne les valeurs de la colone B entrée dans le premier userform
Est ce possible?
Merci d'avance
Voici ce que j'ai déjà fait!
Premier userform
Private Sub CommandButton1_Click()
Dim colone As Long
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("A6650").End(xlUp).Row + 1
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("B6650").End(xlUp).Row + 1
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("C6650").End(xlUp).Row + 1
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("D6650").End(xlUp).Row + 1
'insère les valeurs des textbox dans la ligne suivant la dernière ligne pleine
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("A" & colone).Value = UserForm1.TextBox1.Value
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("B" & colone).Value = UserForm1.TextBox2.Value
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("C" & colone).Value = UserForm1.TextBox3.Value
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("D" & colone).Value = UserForm1.TextBox4.Value
'Colorie la ligne de tableau insérée en rouge (outil nok)
If OptionButton3.Value = True Then
Worksheets("Donnée").Range("A" & colone).Interior.ColorIndex = 3
Worksheets("Donnée").Range("B" & colone).Interior.ColorIndex = 3
Worksheets("Donnée").Range("C" & colone).Interior.ColorIndex = 3
Worksheets("Donnée").Range("D" & colone).Interior.ColorIndex = 3
End If
'Colorie la ligne de tableau insérée en orange (outil en derive)
If OptionButton2.Value = True Then
Worksheets("Donnée").Range("A" & colone).Interior.ColorIndex = 45
Worksheets("Donnée").Range("B" & colone).Interior.ColorIndex = 45
Worksheets("Donnée").Range("C" & colone).Interior.ColorIndex = 45
Worksheets("Donnée").Range("D" & colone).Interior.ColorIndex = 45
End If
'remet à zéro les textbox
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
End Sub
je voudrais que le combobox du second userform reprenne les valeurs de la colone B entrée dans le premier userform
Est ce possible?
Merci d'avance
Pp^^ff~~fuuiit
C'est quoi ce code ?
1°) Tu reprend la même variable à chaque fois.. réfléchit un peu !!
La variable colone aura toujours la dernière valeur !!
2°) Y a beaucoup plus simple que
A remplacer par..
Et pour remplir le combo dans l'autre UF..
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
C'est quoi ce code ?
1°) Tu reprend la même variable à chaque fois.. réfléchit un peu !!
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("A6650").End(xlUp).Row + 1
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("B6650").End(xlUp).Row + 1
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("C6650").End(xlUp).Row + 1
colone = Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("D6650").End(xlUp).Row + 1
La variable colone aura toujours la dernière valeur !!
2°) Y a beaucoup plus simple que
'insère les valeurs des textbox dans la ligne suivant la dernière ligne pleine
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("A" & colone).Value = UserForm1.TextBox1.Value
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("B" & colone).Value = UserForm1.TextBox2.Value
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("C" & colone).Value = UserForm1.TextBox3.Value
Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée").Range("D" & colone).Value = UserForm1.TextBox4.Value
A remplacer par..
With Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée")
.Range("A" & colone).Value = TextBox1.Value
.Range("B" & colone).Value = TextBox2.Value
.Range("C" & colone).Value = TextBox3.Value
.Range("D" & colone).Value = TextBox4.Value
'Colorie la ligne de tableau insérée en rouge (outil nok)
If OptionButton3.Value = True Then
.Range(cells(colone, "A"), Cells(colone, "D")).Interior.ColorIndex = 3
'OU Colorie la ligne de tableau insérée en orange (outil en derive)
ElseIf OptionButton2.Value = True Then
.Range(cells(colone, "A"), Cells(colone, "D")).Interior.ColorIndex = 45
End If
End With
Et pour remplir le combo dans l'autre UF..
Sub RempliCombo()
Dim Lig As Long
With Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée")
For Lig = 2 To .Range("65536").End(xlUp).Row
If .Cells(Lig, 1).Interior.ColorIndex = 3 Or .Cells(Lig, 1).Interior.ColorIndex = 45 Then
ComboBox1.AddItem .Cells(Lig, 1).Value
End If
Next Lig
End With
End Sub
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
Bonjour lermite222,
Merci pour ton commentaire j'ai corrigé certaines de mes erreurs et c'est vrai que le code est plus "léger", mais j'ai un petit problème avec cette partie du code:
With Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée")
.Range("A" & colone).Value = TextBox1.Value
.Range("B" & colone).Value = TextBox2.Value
.Range("C" & colone).Value = TextBox3.Value
.Range("D" & colone).Value = TextBox4.Value
'Colorie la ligne de tableau insérée en rouge (outil nok)
If OptionButton3.Value = True Then
.Range(cells(colone, "A"), Cells(colone, "D")).Interior.ColorIndex = 3
'OU Colorie la ligne de tableau insérée en orange (outil en derive)
ElseIf OptionButton2.Value = True Then
.Range(cells(colone, "A"), Cells(colone, "D")).Interior.ColorIndex = 45
End If
End With
lorsque que je l'écris, le code fonctionne bien mais une fois que je ferme mon dossier et que je l'ouvre à nouveau ça ne fonctionne plus et excel me marque: erreur d'éxecution "1004"
erreur défini par l'appliquation ou par l'objet
et si je l'efface et que je le retape et que j'enregistre ça fonctionne à nouveau!
Je sais pas si ça te parle, merci d'avance
a+
Merci pour ton commentaire j'ai corrigé certaines de mes erreurs et c'est vrai que le code est plus "léger", mais j'ai un petit problème avec cette partie du code:
With Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée")
.Range("A" & colone).Value = TextBox1.Value
.Range("B" & colone).Value = TextBox2.Value
.Range("C" & colone).Value = TextBox3.Value
.Range("D" & colone).Value = TextBox4.Value
'Colorie la ligne de tableau insérée en rouge (outil nok)
If OptionButton3.Value = True Then
.Range(cells(colone, "A"), Cells(colone, "D")).Interior.ColorIndex = 3
'OU Colorie la ligne de tableau insérée en orange (outil en derive)
ElseIf OptionButton2.Value = True Then
.Range(cells(colone, "A"), Cells(colone, "D")).Interior.ColorIndex = 45
End If
End With
lorsque que je l'écris, le code fonctionne bien mais une fois que je ferme mon dossier et que je l'ouvre à nouveau ça ne fonctionne plus et excel me marque: erreur d'éxecution "1004"
erreur défini par l'appliquation ou par l'objet
et si je l'efface et que je le retape et que j'enregistre ça fonctionne à nouveau!
Je sais pas si ça te parle, merci d'avance
a+
La macro est dans quel classeur ?
Erreur 1004 ça veux dire q'Excel ne trouve pas soit le classeur, soit la feuille ou les deux.
Ou encore, voir si colone ne serait pas à 0
Manquerait peut-être la ligne...
le classeur ("SUIVI-OUTILLAGE.xls") est ouvert ?
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
Erreur 1004 ça veux dire q'Excel ne trouve pas soit le classeur, soit la feuille ou les deux.
Ou encore, voir si colone ne serait pas à 0
Manquerait peut-être la ligne...
With Workbooks("SUIVI-OUTILLAGE.xls").Worksheets("Donnée")
colone = .Range("A6650").End(xlUp).Row + 1
le classeur ("SUIVI-OUTILLAGE.xls") est ouvert ?
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
je te copie le lien vers mon fichier excel pour que tu puisse mieux comprendre le problème.
Car je ne pense pas que je puisse répondre à tes questions ;)
J'ai une autre question pour toi aussi, j'ai tenté d'afficher le commentaire dans le textbox2 correspondant à la référence sélectionnée dans la combobox mais parfois ça n'affiche pas le bon commentaire!
https://www.sendbox.fr/index.php?/AZL1UGLSC125/SUIVI-OUTILLAGE.xls
Merci encore pour ton aide lermite!
A+
Car je ne pense pas que je puisse répondre à tes questions ;)
J'ai une autre question pour toi aussi, j'ai tenté d'afficher le commentaire dans le textbox2 correspondant à la référence sélectionnée dans la combobox mais parfois ça n'affiche pas le bon commentaire!
https://www.sendbox.fr/index.php?/AZL1UGLSC125/SUIVI-OUTILLAGE.xls
Merci encore pour ton aide lermite!
A+