J'ai donc un userform que j'utilise sur une feuille nomm=E9e "Client"
Dans cette userform j'ai (entre autres) combobx1 et combobox2
ils sont reli=E9 de fa=E7on a ce que le choix de l'un me donne le r=E9sultat
de l'autre et invers=E9ment.
C'est parfait !
C'est parfait si je suis sur la feuille qui alimente mes combobox
nomm=E9e "materiel"
Mais moi je veux pouvoir travailler avec mon userfom sur la feuille
"Client" .
et l=E0 du coup, mes combobox vont chercher des donn=E9es qui sont dans
cette feuille, au lieu de garder celles qui sont dans la feuille
materiel !!!
En somme ces combobox, ils s'alimentent selon o=F9 je me trouve, et je
ne sais pas comment les obliger a garder la bonne source qui est dans
ma feuille materiel, avec ce que j'ai comme code ici :
Je dois lui pr=E9ciser quelque chose mais je ne sais pas quoi !?
Dim LigneSAP As Integer
Dim InChange As Boolean
Dim AEnregistrer As Boolean
Private Sub ComboBox1_Change()
If Not InChange Then
InChange =3D True
Me.ComboBox1 =3D Me.ComboBox1
AEnregistrer =3D True
InChange =3D False
With Me
LigneSAP =3D .ComboBox1.ListIndex + 2
.ComboBox2 =3D Cells(LigneSAP, 9)
End With
InChange =3D False
End If
End Sub
----------------------------------------------------------------------
Private Sub ComboBox2_Change()
If Not InChange Then
InChange =3D True
Me.ComboBox2 =3D Me.ComboBox2
AEnregistrer =3D True
InChange =3D False
With Me
LigneSAP =3D .ComboBox2.ListIndex + 2
.ComboBox1 =3D Cells(LigneSAP, 10)
End With
InChange =3D False
End If
End Sub
---------------------------------------------------------------------------=
-----------------
Private Sub UserForm_Initialize()
With Me
.ComboBox2.RowSource =3D "Materiel!" & Range("I2",
Range("I2").End(xlDown)).Address
.ComboBox2.ListIndex =3D 1
.ComboBox1.RowSource =3D "Materiel!" & Range("J2",
Range("J2").End(xlDown)).Address
Dans tous tes procédures : à chaque fois que tu désignes une cellule, si cette cellule n'appartient pas à la feuille active, tu dois faire référence à la feuille à laquelle cette cellule fait référence ...
Exemple : '--------------------- Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub '---------------------
"Alba" a écrit dans le message de news:
Bonjour,
J'ai donc un userform que j'utilise sur une feuille nommée "Client"
Dans cette userform j'ai (entre autres) combobx1 et combobox2
ils sont relié de façon a ce que le choix de l'un me donne le résultat de l'autre et inversément. C'est parfait !
C'est parfait si je suis sur la feuille qui alimente mes combobox nommée "materiel"
Mais moi je veux pouvoir travailler avec mon userfom sur la feuille "Client" . et là du coup, mes combobox vont chercher des données qui sont dans cette feuille, au lieu de garder celles qui sont dans la feuille materiel !!!
En somme ces combobox, ils s'alimentent selon où je me trouve, et je ne sais pas comment les obliger a garder la bonne source qui est dans ma feuille materiel, avec ce que j'ai comme code ici : Je dois lui préciser quelque chose mais je ne sais pas quoi !?
Dim LigneSAP As Integer Dim InChange As Boolean Dim AEnregistrer As Boolean
Private Sub ComboBox1_Change()
If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2
.ComboBox2 = Cells(LigneSAP, 9) End With InChange = False End If End Sub ---------------------------------------------------------------------- Private Sub ComboBox2_Change()
If Not InChange Then InChange = True Me.ComboBox2 = Me.ComboBox2 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox2.ListIndex + 2
.ComboBox1 = Cells(LigneSAP, 10) End With InChange = False End If
End Sub -------------------------------------------------------------------------------------------- Private Sub UserForm_Initialize()
With Me .ComboBox2.RowSource = "Materiel!" & Range("I2", Range("I2").End(xlDown)).Address .ComboBox2.ListIndex = 1 .ComboBox1.RowSource = "Materiel!" & Range("J2", Range("J2").End(xlDown)).Address
End With AEnregistrer = False End Sub
Merci de votre aide, très bonne journée
Dans tous tes procédures :
à chaque fois que tu désignes une cellule, si cette cellule n'appartient
pas à la feuille active, tu dois faire référence à la feuille à laquelle
cette cellule fait référence ...
Exemple :
'---------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel")
Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address
Me.ComboBox2.ListIndex = 1
Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address
End With
AEnregistrer = False
End Sub
'---------------------
"Alba" <lilas-007@hotmail.com> a écrit dans le message de news:
1173011822.737652.172550@30g2000cwc.googlegroups.com...
Bonjour,
J'ai donc un userform que j'utilise sur une feuille nommée "Client"
Dans cette userform j'ai (entre autres) combobx1 et combobox2
ils sont relié de façon a ce que le choix de l'un me donne le résultat
de l'autre et inversément.
C'est parfait !
C'est parfait si je suis sur la feuille qui alimente mes combobox
nommée "materiel"
Mais moi je veux pouvoir travailler avec mon userfom sur la feuille
"Client" .
et là du coup, mes combobox vont chercher des données qui sont dans
cette feuille, au lieu de garder celles qui sont dans la feuille
materiel !!!
En somme ces combobox, ils s'alimentent selon où je me trouve, et je
ne sais pas comment les obliger a garder la bonne source qui est dans
ma feuille materiel, avec ce que j'ai comme code ici :
Je dois lui préciser quelque chose mais je ne sais pas quoi !?
Dim LigneSAP As Integer
Dim InChange As Boolean
Dim AEnregistrer As Boolean
Private Sub ComboBox1_Change()
If Not InChange Then
InChange = True
Me.ComboBox1 = Me.ComboBox1
AEnregistrer = True
InChange = False
With Me
LigneSAP = .ComboBox1.ListIndex + 2
.ComboBox2 = Cells(LigneSAP, 9)
End With
InChange = False
End If
End Sub
----------------------------------------------------------------------
Private Sub ComboBox2_Change()
If Not InChange Then
InChange = True
Me.ComboBox2 = Me.ComboBox2
AEnregistrer = True
InChange = False
With Me
LigneSAP = .ComboBox2.ListIndex + 2
.ComboBox1 = Cells(LigneSAP, 10)
End With
InChange = False
End If
End Sub
--------------------------------------------------------------------------------------------
Private Sub UserForm_Initialize()
With Me
.ComboBox2.RowSource = "Materiel!" & Range("I2",
Range("I2").End(xlDown)).Address
.ComboBox2.ListIndex = 1
.ComboBox1.RowSource = "Materiel!" & Range("J2",
Range("J2").End(xlDown)).Address
Dans tous tes procédures : à chaque fois que tu désignes une cellule, si cette cellule n'appartient pas à la feuille active, tu dois faire référence à la feuille à laquelle cette cellule fait référence ...
Exemple : '--------------------- Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub '---------------------
"Alba" a écrit dans le message de news:
Bonjour,
J'ai donc un userform que j'utilise sur une feuille nommée "Client"
Dans cette userform j'ai (entre autres) combobx1 et combobox2
ils sont relié de façon a ce que le choix de l'un me donne le résultat de l'autre et inversément. C'est parfait !
C'est parfait si je suis sur la feuille qui alimente mes combobox nommée "materiel"
Mais moi je veux pouvoir travailler avec mon userfom sur la feuille "Client" . et là du coup, mes combobox vont chercher des données qui sont dans cette feuille, au lieu de garder celles qui sont dans la feuille materiel !!!
En somme ces combobox, ils s'alimentent selon où je me trouve, et je ne sais pas comment les obliger a garder la bonne source qui est dans ma feuille materiel, avec ce que j'ai comme code ici : Je dois lui préciser quelque chose mais je ne sais pas quoi !?
Dim LigneSAP As Integer Dim InChange As Boolean Dim AEnregistrer As Boolean
Private Sub ComboBox1_Change()
If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2
.ComboBox2 = Cells(LigneSAP, 9) End With InChange = False End If End Sub ---------------------------------------------------------------------- Private Sub ComboBox2_Change()
If Not InChange Then InChange = True Me.ComboBox2 = Me.ComboBox2 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox2.ListIndex + 2
.ComboBox1 = Cells(LigneSAP, 10) End With InChange = False End If
End Sub -------------------------------------------------------------------------------------------- Private Sub UserForm_Initialize()
With Me .ComboBox2.RowSource = "Materiel!" & Range("I2", Range("I2").End(xlDown)).Address .ComboBox2.ListIndex = 1 .ComboBox1.RowSource = "Materiel!" & Range("J2", Range("J2").End(xlDown)).Address
End With AEnregistrer = False End Sub
Merci de votre aide, très bonne journée
Alba
On 4 mar, 14:13, "MichDenis" wrote:
Dans tous tes procédures : à chaque fois que tu désignes une cellule, si cette cellule n'apparti ent pas à la feuille active, tu dois faire référence à la feuille à laquelle cette cellule fait référence ...
Exemple : '--------------------- Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").En d(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").En d(xlDown)).Address End With AEnregistrer = False End Sub '--------------------- Le principe est logique effectivement mais j'ai encore de la peine
(doux euphémisme !), je dois avoir quelque chose en trop maintenant ! J'ai fait :
Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Cells(LigneSAP, 9) End With InChange = False End If End Sub
On 4 mar, 14:13, "MichDenis" <michde...@hotmail.com> wrote:
Dans tous tes procédures :
à chaque fois que tu désignes une cellule, si cette cellule n'apparti ent
pas à la feuille active, tu dois faire référence à la feuille à laquelle
cette cellule fait référence ...
Exemple :
'---------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel")
Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").En d(xlDown)).Address
Me.ComboBox2.ListIndex = 1
Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").En d(xlDown)).Address
End With
AEnregistrer = False
End Sub
'---------------------
Le principe est logique effectivement mais j'ai encore de la peine
(doux euphémisme !), je dois avoir quelque chose en trop maintenant !
J'ai fait :
Private Sub ComboBox1_Change()
If Not InChange Then
InChange = True
Me.ComboBox1 = Me.ComboBox1
AEnregistrer = True
InChange = False
Dans tous tes procédures : à chaque fois que tu désignes une cellule, si cette cellule n'apparti ent pas à la feuille active, tu dois faire référence à la feuille à laquelle cette cellule fait référence ...
Exemple : '--------------------- Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").En d(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").En d(xlDown)).Address End With AEnregistrer = False End Sub '--------------------- Le principe est logique effectivement mais j'ai encore de la peine
(doux euphémisme !), je dois avoir quelque chose en trop maintenant ! J'ai fait :
Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Cells(LigneSAP, 9) End With InChange = False End If End Sub
MichDenis
.ComboBox2 = Cells(LigneSAP, 9)
A ) Dans cette ligne de code, Où ta référence à la feuille
B ) Si tu as un problème, sois plus précis... quelle est la nature du problème ? dans quelle procédure ?
"Alba" a écrit dans le message de news:
On 4 mar, 14:13, "MichDenis" wrote:
Dans tous tes procédures : à chaque fois que tu désignes une cellule, si cette cellule n'appartient pas à la feuille active, tu dois faire référence à la feuille à laquelle cette cellule fait référence ...
Exemple : '--------------------- Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub '--------------------- Le principe est logique effectivement mais j'ai encore de la peine
(doux euphémisme !), je dois avoir quelque chose en trop maintenant ! J'ai fait :
Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Cells(LigneSAP, 9) End With InChange = False End If End Sub
.ComboBox2 = Cells(LigneSAP, 9)
A ) Dans cette ligne de code, Où ta référence à la feuille
B ) Si tu as un problème, sois plus précis... quelle est la nature du problème ?
dans quelle procédure ?
"Alba" <lilas-007@hotmail.com> a écrit dans le message de news:
1173016712.199126.67720@h3g2000cwc.googlegroups.com...
On 4 mar, 14:13, "MichDenis" <michde...@hotmail.com> wrote:
Dans tous tes procédures :
à chaque fois que tu désignes une cellule, si cette cellule n'appartient
pas à la feuille active, tu dois faire référence à la feuille à laquelle
cette cellule fait référence ...
Exemple :
'---------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel")
Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address
Me.ComboBox2.ListIndex = 1
Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address
End With
AEnregistrer = False
End Sub
'---------------------
Le principe est logique effectivement mais j'ai encore de la peine
(doux euphémisme !), je dois avoir quelque chose en trop maintenant !
J'ai fait :
Private Sub ComboBox1_Change()
If Not InChange Then
InChange = True
Me.ComboBox1 = Me.ComboBox1
AEnregistrer = True
InChange = False
A ) Dans cette ligne de code, Où ta référence à la feuille
B ) Si tu as un problème, sois plus précis... quelle est la nature du problème ? dans quelle procédure ?
"Alba" a écrit dans le message de news:
On 4 mar, 14:13, "MichDenis" wrote:
Dans tous tes procédures : à chaque fois que tu désignes une cellule, si cette cellule n'appartient pas à la feuille active, tu dois faire référence à la feuille à laquelle cette cellule fait référence ...
Exemple : '--------------------- Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub '--------------------- Le principe est logique effectivement mais j'ai encore de la peine
(doux euphémisme !), je dois avoir quelque chose en trop maintenant ! J'ai fait :
Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Cells(LigneSAP, 9) End With InChange = False End If End Sub
h2so4
bonjour,
les adaptations que tu as faites comportent des erreurs, j'en vois 2
Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
Worksheets("Materiel").Cells(LigneSAP,9) = Me.ComboBox1.Value 'correction 1-----------------^^^^^^^^ With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9) 'correction 2----^^^^^^^^^^^^^^^^^^^ End With InChange = False End If End Sub
-- -- h2so4 play triogical at http://www.triogical.com "Alba" wrote in message news: On 4 mar, 14:13, "MichDenis" wrote:
Dans tous tes procédures : à chaque fois que tu désignes une cellule, si cette cellule n'appartient pas à la feuille active, tu dois faire référence à la feuille à laquelle cette cellule fait référence ...
Exemple : '--------------------- Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub '--------------------- Le principe est logique effectivement mais j'ai encore de la peine
(doux euphémisme !), je dois avoir quelque chose en trop maintenant ! J'ai fait :
Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Cells(LigneSAP, 9) End With InChange = False End If End Sub
bonjour,
les adaptations que tu as faites comportent des erreurs, j'en vois 2
Private Sub ComboBox1_Change()
If Not InChange Then
InChange = True
Me.ComboBox1 = Me.ComboBox1
AEnregistrer = True
InChange = False
Worksheets("Materiel").Cells(LigneSAP,9) = Me.ComboBox1.Value
'correction 1-----------------^^^^^^^^
With Me
LigneSAP = .ComboBox1.ListIndex + 2
.ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9)
'correction 2----^^^^^^^^^^^^^^^^^^^
End With
InChange = False
End If
End Sub
--
--
h2so4
play triogical at http://www.triogical.com
"Alba" <lilas-007@hotmail.com> wrote in message
news:1173016712.199126.67720@h3g2000cwc.googlegroups.com...
On 4 mar, 14:13, "MichDenis" <michde...@hotmail.com> wrote:
Dans tous tes procédures :
à chaque fois que tu désignes une cellule, si cette cellule n'appartient
pas à la feuille active, tu dois faire référence à la feuille à laquelle
cette cellule fait référence ...
Exemple :
'---------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel")
Me.ComboBox2.RowSource = .Name & "!" & .Range("I2",
.Range("I2").End(xlDown)).Address
Me.ComboBox2.ListIndex = 1
Me.ComboBox1.RowSource = .Name & "!" & .Range("J2",
.Range("J2").End(xlDown)).Address
End With
AEnregistrer = False
End Sub
'---------------------
Le principe est logique effectivement mais j'ai encore de la peine
(doux euphémisme !), je dois avoir quelque chose en trop maintenant !
J'ai fait :
Private Sub ComboBox1_Change()
If Not InChange Then
InChange = True
Me.ComboBox1 = Me.ComboBox1
AEnregistrer = True
InChange = False
les adaptations que tu as faites comportent des erreurs, j'en vois 2
Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
Worksheets("Materiel").Cells(LigneSAP,9) = Me.ComboBox1.Value 'correction 1-----------------^^^^^^^^ With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9) 'correction 2----^^^^^^^^^^^^^^^^^^^ End With InChange = False End If End Sub
-- -- h2so4 play triogical at http://www.triogical.com "Alba" wrote in message news: On 4 mar, 14:13, "MichDenis" wrote:
Dans tous tes procédures : à chaque fois que tu désignes une cellule, si cette cellule n'appartient pas à la feuille active, tu dois faire référence à la feuille à laquelle cette cellule fait référence ...
Exemple : '--------------------- Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub '--------------------- Le principe est logique effectivement mais j'ai encore de la peine
(doux euphémisme !), je dois avoir quelque chose en trop maintenant ! J'ai fait :
Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Cells(LigneSAP, 9) End With InChange = False End If End Sub
...mais de toute évidence ce n'est pas juste, je garde toujours le même problème.
Alba
Excuse moi on a dû posté en même temps.
Donc maintenant dans la totalité j'ai ceci :
Dim LigneSAP As Integer Dim InChange As Boolean Dim AEnregistrer As Boolean ------------------------------------------------ Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9) End With InChange = False End If End Sub ---------------------------------------------------------------------------- Private Sub ComboBox2_Change()
If Not InChange Then InChange = True Me.ComboBox2 = Me.ComboBox2 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox2.ListIndex + 1 .ComboBox1 = Worksheets("Materiel").Cells(LigneSAP, 10)
End With InChange = False End If End Sub -------------------------------------------------------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub ------------------------------------------- Pour Private Sub ComboBox2_Change() j'ai remplacé les comboBox 1 par combobox 2
Ma colonne pour combobox1 est en 9 et pour combobox 2 en 10 donc je remplace le 9 par le 10
mais j'ai un bug sur Worksheets("Materiel").Cells(LigneSAP, 10) = Me.ComboBox2.Value
J'suis vraiment débutante j'suis navrée mais je ne sais pas ce que je dois encore changer ??
Merci en tout cas de votre aide.
Excuse moi on a dû posté en même temps.
Donc maintenant dans la totalité j'ai ceci :
Dim LigneSAP As Integer
Dim InChange As Boolean
Dim AEnregistrer As Boolean
------------------------------------------------
Private Sub ComboBox1_Change()
If Not InChange Then
InChange = True
Me.ComboBox1 = Me.ComboBox1
AEnregistrer = True
InChange = False
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value
With Me
LigneSAP = .ComboBox1.ListIndex + 2
.ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9)
End With
InChange = False
End If
End Sub
----------------------------------------------------------------------------
Private Sub ComboBox2_Change()
If Not InChange Then
InChange = True
Me.ComboBox2 = Me.ComboBox2
AEnregistrer = True
InChange = False
With Me
LigneSAP = .ComboBox2.ListIndex + 1
.ComboBox1 = Worksheets("Materiel").Cells(LigneSAP, 10)
End With
InChange = False
End If
End Sub
-------------------------------------------------------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel")
Me.ComboBox2.RowSource = .Name & "!"
& .Range("I2", .Range("I2").End(xlDown)).Address
Me.ComboBox2.ListIndex = 1
Me.ComboBox1.RowSource = .Name & "!"
& .Range("J2", .Range("J2").End(xlDown)).Address
End With
AEnregistrer = False
End Sub
-------------------------------------------
Pour Private Sub ComboBox2_Change() j'ai remplacé les comboBox 1 par
combobox 2
Ma colonne pour combobox1 est en 9
et
pour combobox 2 en 10
donc je remplace le 9 par le 10
mais j'ai un bug sur Worksheets("Materiel").Cells(LigneSAP, 10) =
Me.ComboBox2.Value
J'suis vraiment débutante j'suis navrée mais je ne sais pas ce que je
dois encore changer ??
Dim LigneSAP As Integer Dim InChange As Boolean Dim AEnregistrer As Boolean ------------------------------------------------ Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9) End With InChange = False End If End Sub ---------------------------------------------------------------------------- Private Sub ComboBox2_Change()
If Not InChange Then InChange = True Me.ComboBox2 = Me.ComboBox2 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox2.ListIndex + 1 .ComboBox1 = Worksheets("Materiel").Cells(LigneSAP, 10)
End With InChange = False End If End Sub -------------------------------------------------------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub ------------------------------------------- Pour Private Sub ComboBox2_Change() j'ai remplacé les comboBox 1 par combobox 2
Ma colonne pour combobox1 est en 9 et pour combobox 2 en 10 donc je remplace le 9 par le 10
mais j'ai un bug sur Worksheets("Materiel").Cells(LigneSAP, 10) = Me.ComboBox2.Value
J'suis vraiment débutante j'suis navrée mais je ne sais pas ce que je dois encore changer ??
Merci en tout cas de votre aide.
MichDenis
| mais j'ai un bug sur | Worksheets("Materiel").Cells(LigneSAP, 10) =Me.ComboBox2.Value
Si la variable "LigneSap" représente un chiffre entre 1 et 65536 Si la feuille "Materiel" existe vraiment Il n'y a aucune raison que cela ne fonctionne pas !
Si tu as un message d'erreur, quel est-il ?
"Alba" a écrit dans le message de news:
Excuse moi on a dû posté en même temps.
Donc maintenant dans la totalité j'ai ceci :
Dim LigneSAP As Integer Dim InChange As Boolean Dim AEnregistrer As Boolean ------------------------------------------------ Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9) End With InChange = False End If End Sub ---------------------------------------------------------------------------- Private Sub ComboBox2_Change()
If Not InChange Then InChange = True Me.ComboBox2 = Me.ComboBox2 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox2.ListIndex + 1 .ComboBox1 = Worksheets("Materiel").Cells(LigneSAP, 10)
End With InChange = False End If End Sub -------------------------------------------------------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub ------------------------------------------- Pour Private Sub ComboBox2_Change() j'ai remplacé les comboBox 1 par combobox 2
Ma colonne pour combobox1 est en 9 et pour combobox 2 en 10 donc je remplace le 9 par le 10
mais j'ai un bug sur Worksheets("Materiel").Cells(LigneSAP, 10) Me.ComboBox2.Value
J'suis vraiment débutante j'suis navrée mais je ne sais pas ce que je dois encore changer ??
Merci en tout cas de votre aide.
| mais j'ai un bug sur
| Worksheets("Materiel").Cells(LigneSAP, 10) =Me.ComboBox2.Value
Si la variable "LigneSap" représente un chiffre entre 1 et 65536
Si la feuille "Materiel" existe vraiment
Il n'y a aucune raison que cela ne fonctionne pas !
Si tu as un message d'erreur, quel est-il ?
"Alba" <lilas-007@hotmail.com> a écrit dans le message de news:
1173027531.431894.198560@s48g2000cws.googlegroups.com...
Excuse moi on a dû posté en même temps.
Donc maintenant dans la totalité j'ai ceci :
Dim LigneSAP As Integer
Dim InChange As Boolean
Dim AEnregistrer As Boolean
------------------------------------------------
Private Sub ComboBox1_Change()
If Not InChange Then
InChange = True
Me.ComboBox1 = Me.ComboBox1
AEnregistrer = True
InChange = False
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value
With Me
LigneSAP = .ComboBox1.ListIndex + 2
.ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9)
End With
InChange = False
End If
End Sub
----------------------------------------------------------------------------
Private Sub ComboBox2_Change()
If Not InChange Then
InChange = True
Me.ComboBox2 = Me.ComboBox2
AEnregistrer = True
InChange = False
With Me
LigneSAP = .ComboBox2.ListIndex + 1
.ComboBox1 = Worksheets("Materiel").Cells(LigneSAP, 10)
End With
InChange = False
End If
End Sub
-------------------------------------------------------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel")
Me.ComboBox2.RowSource = .Name & "!"
& .Range("I2", .Range("I2").End(xlDown)).Address
Me.ComboBox2.ListIndex = 1
Me.ComboBox1.RowSource = .Name & "!"
& .Range("J2", .Range("J2").End(xlDown)).Address
End With
AEnregistrer = False
End Sub
-------------------------------------------
Pour Private Sub ComboBox2_Change() j'ai remplacé les comboBox 1 par
combobox 2
Ma colonne pour combobox1 est en 9
et
pour combobox 2 en 10
donc je remplace le 9 par le 10
mais j'ai un bug sur Worksheets("Materiel").Cells(LigneSAP, 10) Me.ComboBox2.Value
J'suis vraiment débutante j'suis navrée mais je ne sais pas ce que je
dois encore changer ??
| mais j'ai un bug sur | Worksheets("Materiel").Cells(LigneSAP, 10) =Me.ComboBox2.Value
Si la variable "LigneSap" représente un chiffre entre 1 et 65536 Si la feuille "Materiel" existe vraiment Il n'y a aucune raison que cela ne fonctionne pas !
Si tu as un message d'erreur, quel est-il ?
"Alba" a écrit dans le message de news:
Excuse moi on a dû posté en même temps.
Donc maintenant dans la totalité j'ai ceci :
Dim LigneSAP As Integer Dim InChange As Boolean Dim AEnregistrer As Boolean ------------------------------------------------ Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9) End With InChange = False End If End Sub ---------------------------------------------------------------------------- Private Sub ComboBox2_Change()
If Not InChange Then InChange = True Me.ComboBox2 = Me.ComboBox2 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox2.ListIndex + 1 .ComboBox1 = Worksheets("Materiel").Cells(LigneSAP, 10)
End With InChange = False End If End Sub -------------------------------------------------------------------
Private Sub UserForm_Initialize()
With Worksheets("Materiel") Me.ComboBox2.RowSource = .Name & "!" & .Range("I2", .Range("I2").End(xlDown)).Address Me.ComboBox2.ListIndex = 1 Me.ComboBox1.RowSource = .Name & "!" & .Range("J2", .Range("J2").End(xlDown)).Address End With AEnregistrer = False End Sub ------------------------------------------- Pour Private Sub ComboBox2_Change() j'ai remplacé les comboBox 1 par combobox 2
Ma colonne pour combobox1 est en 9 et pour combobox 2 en 10 donc je remplace le 9 par le 10
mais j'ai un bug sur Worksheets("Materiel").Cells(LigneSAP, 10) Me.ComboBox2.Value
J'suis vraiment débutante j'suis navrée mais je ne sais pas ce que je dois encore changer ??
Merci en tout cas de votre aide.
Alba
Au risque de ne pas trouver les bons termes dans mes explications, le fichier sera plus explicite.
Et il bug donc sur Worksheets("Materiel").Cells(LigneSAP, 10) =Me.ComboBox2.Value http://cjoint.com/confirm.php?cjointÞvNgCxACR
merci bonne soirée
Au risque de ne pas trouver les bons termes dans mes explications, le
fichier sera plus explicite.
Et il bug donc sur Worksheets("Materiel").Cells(LigneSAP, 10)
=Me.ComboBox2.Value
http://cjoint.com/confirm.php?cjoint=devNgCxACR
Au risque de ne pas trouver les bons termes dans mes explications, le fichier sera plus explicite.
Et il bug donc sur Worksheets("Materiel").Cells(LigneSAP, 10) =Me.ComboBox2.Value http://cjoint.com/confirm.php?cjointÞvNgCxACR
merci bonne soirée
MichDenis
Dans ces 2 procédures de ton module formulaire, la variable dans ces 2 lignes de code : Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value Et Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox2.Value
La variable LigneSap = 0 -> conclusion Cells(0,9) est impossible d'où génération d'une erreur. à toi de voir quelle est la valeur que la variable devrait avoir avant d'exécution de la ligne de code dans chacune des procédures...
Une dernière observation, dans chacune des procédures, tu as un ligne de code ressemblant à ceci : Me.ComboBox1 = Me.ComboBox1 Quelle est l'utilité d'une telle ligne de code ?
'---------------------------- Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9) End With InChange = False End If End Sub '---------------------------- Private Sub ComboBox2_Change()
If Not InChange Then InChange = True Me.ComboBox2 = Me.ComboBox2 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox2.ListIndex + 2 .ComboBox1 = Worksheets("Materiel").Cells(LigneSAP, 10)
End With InChange = False End If End Sub '----------------------------
"Alba" a écrit dans le message de news:
Au risque de ne pas trouver les bons termes dans mes explications, le fichier sera plus explicite.
Et il bug donc sur Worksheets("Materiel").Cells(LigneSAP, 10) =Me.ComboBox2.Value http://cjoint.com/confirm.php?cjointÞvNgCxACR
merci bonne soirée
Dans ces 2 procédures de ton module formulaire, la variable
dans ces 2 lignes de code :
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value
Et
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox2.Value
La variable LigneSap = 0 -> conclusion Cells(0,9) est impossible d'où
génération d'une erreur.
à toi de voir quelle est la valeur que la variable devrait avoir avant d'exécution
de la ligne de code dans chacune des procédures...
Une dernière observation, dans chacune des procédures, tu as un ligne de code ressemblant à ceci :
Me.ComboBox1 = Me.ComboBox1
Quelle est l'utilité d'une telle ligne de code ?
'----------------------------
Private Sub ComboBox1_Change()
If Not InChange Then
InChange = True
Me.ComboBox1 = Me.ComboBox1
AEnregistrer = True
InChange = False
With Me
LigneSAP = .ComboBox1.ListIndex + 2
.ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9)
End With
InChange = False
End If
End Sub
'----------------------------
Private Sub ComboBox2_Change()
If Not InChange Then
InChange = True
Me.ComboBox2 = Me.ComboBox2
AEnregistrer = True
InChange = False
Dans ces 2 procédures de ton module formulaire, la variable dans ces 2 lignes de code : Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value Et Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox2.Value
La variable LigneSap = 0 -> conclusion Cells(0,9) est impossible d'où génération d'une erreur. à toi de voir quelle est la valeur que la variable devrait avoir avant d'exécution de la ligne de code dans chacune des procédures...
Une dernière observation, dans chacune des procédures, tu as un ligne de code ressemblant à ceci : Me.ComboBox1 = Me.ComboBox1 Quelle est l'utilité d'une telle ligne de code ?
'---------------------------- Private Sub ComboBox1_Change() If Not InChange Then InChange = True Me.ComboBox1 = Me.ComboBox1 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox1.ListIndex + 2 .ComboBox2 = Worksheets("Materiel").Cells(LigneSAP, 9) End With InChange = False End If End Sub '---------------------------- Private Sub ComboBox2_Change()
If Not InChange Then InChange = True Me.ComboBox2 = Me.ComboBox2 AEnregistrer = True InChange = False
With Me LigneSAP = .ComboBox2.ListIndex + 2 .ComboBox1 = Worksheets("Materiel").Cells(LigneSAP, 10)
End With InChange = False End If End Sub '----------------------------
"Alba" a écrit dans le message de news:
Au risque de ne pas trouver les bons termes dans mes explications, le fichier sera plus explicite.
Et il bug donc sur Worksheets("Materiel").Cells(LigneSAP, 10) =Me.ComboBox2.Value http://cjoint.com/confirm.php?cjointÞvNgCxACR
merci bonne soirée
Alba
On 5 mar, 13:13, "MichDenis" wrote:
Dans ces 2 procédures de ton module formulaire, la variable dans ces 2 lignes de code : Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value Et Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox2.Value
La variable LigneSap = 0 -> conclusion Cells(0,9) est impossible d'où génération d'une erreur. à toi de voir quelle est la valeur que la variable devrait avoir avant d'exécution de la ligne de code dans chacune des procédures...
Une dernière observation, dans chacune des procédures, tu as un ligne de code ressemblant à ceci : Me.ComboBox1 = Me.ComboBox1 Quelle est l'utilité d'une telle ligne de code ? --------------------------------------------------------------------------- ---------------------
c'est un userform que j'ai récupéré, ( il me sembe sur XLD) et il était exactement ce dont j'avais besoin. http://cjoint.com/confirm.php?cjointßsbOSymUS
alors j'ai souhaité l'installé sur mon classeur et tenter de l'adapter à mes feuilles, mais je ne pensais pas que ce serait si difficile.
Alors à la question : Quelle est l'utilité d'une telle ligne de code ? Je n'en sais rien du tout ? Si ce n'est que le choix d'un combobox donnera le résultat de l'autre et inversément. Mais je ne peux malheureusement pas du tout répondre à tes questions. Merci quand même de ton aide .
On 5 mar, 13:13, "MichDenis" <michde...@hotmail.com> wrote:
Dans ces 2 procédures de ton module formulaire, la variable
dans ces 2 lignes de code :
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value
Et
Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox2.Value
La variable LigneSap = 0 -> conclusion Cells(0,9) est impossible d'où
génération d'une erreur.
à toi de voir quelle est la valeur que la variable devrait avoir avant d'exécution
de la ligne de code dans chacune des procédures...
Une dernière observation, dans chacune des procédures, tu as un ligne de code ressemblant à ceci :
Me.ComboBox1 = Me.ComboBox1
Quelle est l'utilité d'une telle ligne de code ?
--------------------------------------------------------------------------- ---------------------
c'est un userform que j'ai récupéré, ( il me sembe sur XLD) et il
était exactement ce dont j'avais besoin.
http://cjoint.com/confirm.php?cjoint=dfsbOSymUS
alors j'ai souhaité l'installé sur mon classeur et tenter de l'adapter
à mes feuilles, mais je ne pensais pas que ce serait si difficile.
Alors à la question : Quelle est l'utilité d'une telle ligne de code ?
Je n'en sais rien du tout ? Si ce n'est que le choix d'un combobox
donnera le résultat de l'autre et inversément.
Mais je ne peux malheureusement pas du tout répondre à tes questions.
Merci quand même de ton aide .
Dans ces 2 procédures de ton module formulaire, la variable dans ces 2 lignes de code : Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox1.Value Et Worksheets("Materiel").Cells(LigneSAP, 9) = Me.ComboBox2.Value
La variable LigneSap = 0 -> conclusion Cells(0,9) est impossible d'où génération d'une erreur. à toi de voir quelle est la valeur que la variable devrait avoir avant d'exécution de la ligne de code dans chacune des procédures...
Une dernière observation, dans chacune des procédures, tu as un ligne de code ressemblant à ceci : Me.ComboBox1 = Me.ComboBox1 Quelle est l'utilité d'une telle ligne de code ? --------------------------------------------------------------------------- ---------------------
c'est un userform que j'ai récupéré, ( il me sembe sur XLD) et il était exactement ce dont j'avais besoin. http://cjoint.com/confirm.php?cjointßsbOSymUS
alors j'ai souhaité l'installé sur mon classeur et tenter de l'adapter à mes feuilles, mais je ne pensais pas que ce serait si difficile.
Alors à la question : Quelle est l'utilité d'une telle ligne de code ? Je n'en sais rien du tout ? Si ce n'est que le choix d'un combobox donnera le résultat de l'autre et inversément. Mais je ne peux malheureusement pas du tout répondre à tes questions. Merci quand même de ton aide .