Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste déroulante BO controle

7 réponses
Avatar
titou
Bonjour,

J'ai un petit problème que je n'arrive pas à résoudre.

j'ai dans une feuil excel
deux liste déroulante qui sont composé de chiffre allant de 0 à 100.

je n'arrive pas à mettre le résultat de l'addition des valeur choisie dans
les 2 combobox dans une textbox

cad : ValueComboBox1 + ValuecOMBOBOX2 = résultat dans textbox1



un autre problème dsl ça fais bcp de problème on m'a proposé un code mais je
l'adapte à mon cas mais ça ne fonctionne pas.


voici le code :

'POUR LISTE BARRE OUTILS CONTROLE

Sub ChargerComboOutilsControle()

Dim Tbl As New Collection
Dim Plage As Range
Dim I As Integer

'la plage de données est en feuil1 et en
'colonne A, adapter
With Worksheets("Feuil1")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With

'l'erreur doit être gérée car il ne peut
'y avoir deux nom identique dans la clé
On Error Resume Next
For I = 1 To Plage.Rows.Count
Tbl.Add Plage(I), CStr(Plage(I))
Next

'invalide le gestionnaire d'erreur
On Error GoTo 0

'renommer le contrôle ici ("ComboBox1")
With Worksheets("Feuil1").ComboBox1
.Clear 'supprime tous les items
For I = 1 To Tbl.Count
.AddItem Tbl(I)
Next I
End With

Set Tbl = Nothing
Set Plage = Nothing

End Sub


cela ne focntionne pas. j'ai ma combobox dans feuil 1 et mon tableau avec ma
colonne A dans feuil 2 je fais les modifs mais ça fonctionne pas

merci d'avance

thierry

7 réponses

Avatar
JB
Bonjour,

Il faut covertir en numérique avec Val,Cint,Cdbl:

Me.TextBox1 = CDbl(Me.ComboBox1) + CDbl(Me.ComboBox2)

JB

On 5 juin, 18:46, titou wrote:
Bonjour,

J'ai un petit problème que je n'arrive pas à résoudre.

j'ai dans une feuil excel
deux liste déroulante qui sont composé de chiffre allant de 0 à 100.

je n'arrive pas à mettre le résultat de l'addition des valeur choisie dans
les 2 combobox dans une textbox

cad : ValueComboBox1 + ValuecOMBOBOX2 = résultat dans textbox1

un autre problème dsl ça fais bcp de problème on m'a proposé un c ode mais je
l'adapte à mon cas mais ça ne fonctionne pas.

voici le code :

'POUR LISTE BARRE OUTILS CONTROLE

Sub ChargerComboOutilsControle()

Dim Tbl As New Collection
Dim Plage As Range
Dim I As Integer

'la plage de données est en feuil1 et en
'colonne A, adapter
With Worksheets("Feuil1")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With

'l'erreur doit être gérée car il ne peut
'y avoir deux nom identique dans la clé
On Error Resume Next
For I = 1 To Plage.Rows.Count
Tbl.Add Plage(I), CStr(Plage(I))
Next

'invalide le gestionnaire d'erreur
On Error GoTo 0

'renommer le contrôle ici ("ComboBox1")
With Worksheets("Feuil1").ComboBox1
.Clear 'supprime tous les items
For I = 1 To Tbl.Count
.AddItem Tbl(I)
Next I
End With

Set Tbl = Nothing
Set Plage = Nothing

End Sub

cela ne focntionne pas. j'ai ma combobox dans feuil 1 et mon tableau avec ma
colonne A dans feuil 2 je fais les modifs mais ça fonctionne pas

merci d'avance

thierry


Avatar
JP25
Bonsoir,
entre ce code avec tes noms perso, integre CInt devant tes combo
UserForm1.TextBox1 = CInt(UserForm1.ComboBox1) + CInt(UserForm1.ComboBox2)
JP25
"titou" a écrit dans le message de news:

Bonjour,

J'ai un petit problème que je n'arrive pas à résoudre.

j'ai dans une feuil excel
deux liste déroulante qui sont composé de chiffre allant de 0 à 100.

je n'arrive pas à mettre le résultat de l'addition des valeur choisie dans
les 2 combobox dans une textbox

cad : ValueComboBox1 + ValuecOMBOBOX2 = résultat dans textbox1



un autre problème dsl ça fais bcp de problème on m'a proposé un code mais
je
l'adapte à mon cas mais ça ne fonctionne pas.


voici le code :

'POUR LISTE BARRE OUTILS CONTROLE

Sub ChargerComboOutilsControle()

Dim Tbl As New Collection
Dim Plage As Range
Dim I As Integer

'la plage de données est en feuil1 et en
'colonne A, adapter
With Worksheets("Feuil1")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With

'l'erreur doit être gérée car il ne peut
'y avoir deux nom identique dans la clé
On Error Resume Next
For I = 1 To Plage.Rows.Count
Tbl.Add Plage(I), CStr(Plage(I))
Next

'invalide le gestionnaire d'erreur
On Error GoTo 0

'renommer le contrôle ici ("ComboBox1")
With Worksheets("Feuil1").ComboBox1
.Clear 'supprime tous les items
For I = 1 To Tbl.Count
.AddItem Tbl(I)
Next I
End With

Set Tbl = Nothing
Set Plage = Nothing

End Sub


cela ne focntionne pas. j'ai ma combobox dans feuil 1 et mon tableau avec
ma
colonne A dans feuil 2 je fais les modifs mais ça fonctionne pas

merci d'avance

thierry


Avatar
JB
Pour un combo sans doublons dans une feuille mis à jour immédiatement:

Private Sub ComboBox1_DropButtonClick()
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In Range([a2], [a65000].End(xlUp))
If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
Next c
Me.ComboBox1.List = MonDico.items
End Sub

http://boisgontierjacques.free.fr/fichiers/Formulaire/FeuilleComboSansDoubl ons.xls

JB


On 5 juin, 18:57, JB wrote:
Bonjour,

Il faut covertir en numérique avec Val,Cint,Cdbl:

Me.TextBox1 = CDbl(Me.ComboBox1) + CDbl(Me.ComboBox2)

JB

On 5 juin, 18:46, titou wrote:



Bonjour,

J'ai un petit problème que je n'arrive pas à résoudre.

j'ai dans une feuil excel
deux liste déroulante qui sont composé de chiffre allant de 0 à 1 00.

je n'arrive pas à mettre le résultat de l'addition des valeur chois ie dans
les 2 combobox dans une textbox

cad : ValueComboBox1 + ValuecOMBOBOX2 = résultat dans textbox1

un autre problème dsl ça fais bcp de problème on m'a proposé un code mais je
l'adapte à mon cas mais ça ne fonctionne pas.

voici le code :

'POUR LISTE BARRE OUTILS CONTROLE

Sub ChargerComboOutilsControle()

Dim Tbl As New Collection
Dim Plage As Range
Dim I As Integer

'la plage de données est en feuil1 et en
'colonne A, adapter
With Worksheets("Feuil1")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With

'l'erreur doit être gérée car il ne peut
'y avoir deux nom identique dans la clé
On Error Resume Next
For I = 1 To Plage.Rows.Count
Tbl.Add Plage(I), CStr(Plage(I))
Next

'invalide le gestionnaire d'erreur
On Error GoTo 0

'renommer le contrôle ici ("ComboBox1")
With Worksheets("Feuil1").ComboBox1
.Clear 'supprime tous les items
For I = 1 To Tbl.Count
.AddItem Tbl(I)
Next I
End With

Set Tbl = Nothing
Set Plage = Nothing

End Sub

cela ne focntionne pas. j'ai ma combobox dans feuil 1 et mon tableau av ec ma
colonne A dans feuil 2 je fais les modifs mais ça fonctionne pas

merci d'avance

thierry- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
titou
Bonjour JB,

J'essaye ton code depuis deux et je n'arrive pas à le faire tourner

il me donne comme erreur : erreur de permission

je comprend pas pourquoi

Doisje mettre la fonction décaler pour que cela fonctionne , si oui ou
dois-je la mettre?

Merci

thierry


Pour un combo sans doublons dans une feuille mis à jour immédiatement:

Private Sub ComboBox1_DropButtonClick()
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In Range([a2], [a65000].End(xlUp))
If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
Next c
Me.ComboBox1.List = MonDico.items
End Sub

http://boisgontierjacques.free.fr/fichiers/Formulaire/FeuilleComboSansDoublons.xls

JB


On 5 juin, 18:57, JB wrote:
Bonjour,

Il faut covertir en numérique avec Val,Cint,Cdbl:

Me.TextBox1 = CDbl(Me.ComboBox1) + CDbl(Me.ComboBox2)

JB

On 5 juin, 18:46, titou wrote:



Bonjour,

J'ai un petit problème que je n'arrive pas à résoudre.

j'ai dans une feuil excel
deux liste déroulante qui sont composé de chiffre allant de 0 à 100.

je n'arrive pas à mettre le résultat de l'addition des valeur choisie dans
les 2 combobox dans une textbox

cad : ValueComboBox1 + ValuecOMBOBOX2 = résultat dans textbox1

un autre problème dsl ça fais bcp de problème on m'a proposé un code mais je
l'adapte à mon cas mais ça ne fonctionne pas.

voici le code :

'POUR LISTE BARRE OUTILS CONTROLE

Sub ChargerComboOutilsControle()

Dim Tbl As New Collection
Dim Plage As Range
Dim I As Integer

'la plage de données est en feuil1 et en
'colonne A, adapter
With Worksheets("Feuil1")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With

'l'erreur doit être gérée car il ne peut
'y avoir deux nom identique dans la clé
On Error Resume Next
For I = 1 To Plage.Rows.Count
Tbl.Add Plage(I), CStr(Plage(I))
Next

'invalide le gestionnaire d'erreur
On Error GoTo 0

'renommer le contrôle ici ("ComboBox1")
With Worksheets("Feuil1").ComboBox1
.Clear 'supprime tous les items
For I = 1 To Tbl.Count
.AddItem Tbl(I)
Next I
End With

Set Tbl = Nothing
Set Plage = Nothing

End Sub

cela ne focntionne pas. j'ai ma combobox dans feuil 1 et mon tableau avec ma
colonne A dans feuil 2 je fais les modifs mais ça fonctionne pas

merci d'avance

thierry- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -








Avatar
JB
Envoi ton fichier dans ma Bal

JB
On 6 juin, 16:59, titou wrote:
Bonjour JB,

J'essaye ton code depuis deux et je n'arrive pas à le faire tourner

il me donne comme erreur : erreur de permission

je comprend pas pourquoi

Doisje mettre la fonction décaler pour que cela fonctionne , si oui ou
dois-je la mettre?

Merci

thierry




Pour un combo sans doublons dans une feuille mis à jour immédiateme nt:

Private Sub ComboBox1_DropButtonClick()
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In Range([a2], [a65000].End(xlUp))
If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
Next c
Me.ComboBox1.List = MonDico.items
End Sub

http://boisgontierjacques.free.fr/fichiers/Formulaire/FeuilleComboSan...

JB

On 5 juin, 18:57, JB wrote:
Bonjour,

Il faut covertir en numérique avec Val,Cint,Cdbl:

Me.TextBox1 = CDbl(Me.ComboBox1) + CDbl(Me.ComboBox2)

JB

On 5 juin, 18:46, titou wrote:

Bonjour,

J'ai un petit problème que je n'arrive pas à résoudre.

j'ai dans une feuil excel
deux liste déroulante qui sont composé de chiffre allant de 0 à 100.

je n'arrive pas à mettre le résultat de l'addition des valeur c hoisie dans
les 2 combobox dans une textbox

cad : ValueComboBox1 + ValuecOMBOBOX2 = résultat dans textbox1

un autre problème dsl ça fais bcp de problème on m'a propos é un code mais je
l'adapte à mon cas mais ça ne fonctionne pas.

voici le code :

'POUR LISTE BARRE OUTILS CONTROLE

Sub ChargerComboOutilsControle()

Dim Tbl As New Collection
Dim Plage As Range
Dim I As Integer

'la plage de données est en feuil1 et en
'colonne A, adapter
With Worksheets("Feuil1")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With

'l'erreur doit être gérée car il ne peut
'y avoir deux nom identique dans la clé
On Error Resume Next
For I = 1 To Plage.Rows.Count
Tbl.Add Plage(I), CStr(Plage(I))
Next

'invalide le gestionnaire d'erreur
On Error GoTo 0

'renommer le contrôle ici ("ComboBox1")
With Worksheets("Feuil1").ComboBox1
.Clear 'supprime tous les items
For I = 1 To Tbl.Count
.AddItem Tbl(I)
Next I
End With

Set Tbl = Nothing
Set Plage = Nothing

End Sub

cela ne focntionne pas. j'ai ma combobox dans feuil 1 et mon tablea u avec ma
colonne A dans feuil 2 je fais les modifs mais ça fonctionne pas

merci d'avance

thierry- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -



- Afficher le texte des messages précédents -





Avatar
thierry77.georges
On 6 juin, 17:45, JB wrote:
Envoi ton fichier dans ma Bal

JB
On 6 juin, 16:59, titou wrote:



Bonjour JB,

J'essaye ton code depuis deux et je n'arrive pas à le faire tourner

il me donne comme erreur : erreur de permission

je comprend pas pourquoi

Doisje mettre la fonction décaler pour que cela fonctionne , si oui ou
dois-je la mettre?

Merci

thierry



Pour un combo sans doublons dans une feuille mis à jour immédiate ment:

Private Sub ComboBox1_DropButtonClick()
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In Range([a2], [a65000].End(xlUp))
If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
Next c
Me.ComboBox1.List = MonDico.items
End Sub

http://boisgontierjacques.free.fr/fichiers/Formulaire/FeuilleComboSan. ..

JB

On 5 juin, 18:57, JB wrote:
Bonjour,

Il faut covertir en numérique avec Val,Cint,Cdbl:

Me.TextBox1 = CDbl(Me.ComboBox1) + CDbl(Me.ComboBox2)

JB

On 5 juin, 18:46, titou wrote:

Bonjour,

J'ai un petit problème que je n'arrive pas à résoudre.

j'ai dans une feuil excel
deux liste déroulante qui sont composé de chiffre allant de 0 à 100.

je n'arrive pas à mettre le résultat de l'addition des valeur choisie dans
les 2 combobox dans une textbox

cad : ValueComboBox1 + ValuecOMBOBOX2 = résultat dans textbox1

un autre problème dsl ça fais bcp de problème on m'a propos é un code mais je
l'adapte à mon cas mais ça ne fonctionne pas.

voici le code :

'POUR LISTE BARRE OUTILS CONTROLE

Sub ChargerComboOutilsControle()

Dim Tbl As New Collection
Dim Plage As Range
Dim I As Integer

'la plage de données est en feuil1 et en
'colonne A, adapter
With Worksheets("Feuil1")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With

'l'erreur doit être gérée car il ne peut
'y avoir deux nom identique dans la clé
On Error Resume Next
For I = 1 To Plage.Rows.Count
Tbl.Add Plage(I), CStr(Plage(I))
Next

'invalide le gestionnaire d'erreur
On Error GoTo 0

'renommer le contrôle ici ("ComboBox1")
With Worksheets("Feuil1").ComboBox1
.Clear 'supprime tous les items
For I = 1 To Tbl.Count
.AddItem Tbl(I)
Next I
End With

Set Tbl = Nothing
Set Plage = Nothing

End Sub

cela ne focntionne pas. j'ai ma combobox dans feuil 1 et mon tabl eau avec ma
colonne A dans feuil 2 je fais les modifs mais ça fonctionne pas

merci d'avance

thierry- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


bjr,
en c'est ici qu'il bug à cette instruction

Me.ComboBox1.List = MonDico.items

ma liste déroulante et dans la feuil nommé "Etude CPL" et mes donnée
sont récupérées dans la feuille nommé "Tableau des extractions" ces
données proviennent d'une exportation d'un tableau excel qui la meme
forme que la tableau qui reçoit les données.

je rempli ma liste déroualnte à l'aide de sa propriété linkcell il me
semble...

la j'ai tout dis je crois.


Merci

thierry





Avatar
JB
LinkedCell permet de spécifier la cellule qui recupère le résulat.

1-Nommer le Champ qui contient la liste:
Insertion/Nom/Définir
ListeCombo : 'CALER($B$2;;;NBVAL($B:$B)-1)


2- Créer le code qui alimente le combo:

Private Sub ComboBox1_DropButtonClick()
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In [listecombo]
If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
Next c
Me.ComboBox1.List = MonDico.items
End Sub

http://cjoint.com/?ggtsCphpSJ

JB

On 6 juin, 18:58, wrote:
On 6 juin, 17:45, JB wrote:





Envoi ton fichier dans ma Bal

JB
On 6 juin, 16:59, titou wrote:

Bonjour JB,

J'essaye ton code depuis deux et je n'arrive pas à le faire tourner

il me donne comme erreur : erreur de permission

je comprend pas pourquoi

Doisje mettre la fonction décaler pour que cela fonctionne , si oui ou
dois-je la mettre?

Merci

thierry




Pour un combo sans doublons dans une feuille mis à jour immédia tement:

Private Sub ComboBox1_DropButtonClick()
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In Range([a2], [a65000].End(xlUp))
If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
Next c
Me.ComboBox1.List = MonDico.items
End Sub

http://boisgontierjacques.free.fr/fichiers/Formulaire/FeuilleComboSa n...

JB

On 5 juin, 18:57, JB wrote:
Bonjour,

Il faut covertir en numérique avec Val,Cint,Cdbl:

Me.TextBox1 = CDbl(Me.ComboBox1) + CDbl(Me.ComboBox2)

JB

On 5 juin, 18:46, titou wrote:

Bonjour,

J'ai un petit problème que je n'arrive pas à résoudre.

j'ai dans une feuil excel
deux liste déroulante qui sont composé de chiffre allant de 0 à 100.

je n'arrive pas à mettre le résultat de l'addition des vale ur choisie dans
les 2 combobox dans une textbox

cad : ValueComboBox1 + ValuecOMBOBOX2 = résultat dans textb ox1

un autre problème dsl ça fais bcp de problème on m'a prop osé un code mais je
l'adapte à mon cas mais ça ne fonctionne pas.

voici le code :

'POUR LISTE BARRE OUTILS CONTROLE

Sub ChargerComboOutilsControle()

Dim Tbl As New Collection
Dim Plage As Range
Dim I As Integer

'la plage de données est en feuil1 et en
'colonne A, adapter
With Worksheets("Feuil1")
Set Plage = .Range(.[A1], .[A65536].End(xlUp))
End With

'l'erreur doit être gérée car il ne peut
'y avoir deux nom identique dans la clé
On Error Resume Next
For I = 1 To Plage.Rows.Count
Tbl.Add Plage(I), CStr(Plage(I))
Next

'invalide le gestionnaire d'erreur
On Error GoTo 0

'renommer le contrôle ici ("ComboBox1")
With Worksheets("Feuil1").ComboBox1
.Clear 'supprime tous les items
For I = 1 To Tbl.Count
.AddItem Tbl(I)
Next I
End With

Set Tbl = Nothing
Set Plage = Nothing

End Sub

cela ne focntionne pas. j'ai ma combobox dans feuil 1 et mon ta bleau avec ma
colonne A dans feuil 2 je fais les modifs mais ça fonctionne pas

merci d'avance

thierry- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le tex te des messages précédents -



- Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -


- Afficher le texte des messages précédents -


bjr,
en c'est ici qu'il bug à cette instruction

Me.ComboBox1.List = MonDico.items

ma liste déroulante et dans la feuil nommé "Etude CPL" et mes donnée
sont récupérées dans la feuille nommé "Tableau des extractions" c es
données proviennent d'une exportation d'un tableau excel qui la meme
forme que la tableau qui reçoit les données.

je rempli ma liste déroualnte à l'aide de sa propriété linkcell i l me
semble...

la j'ai tout dis je crois.

Merci

thierry- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -