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

Combobox multiple colonne

2 réponses
Avatar
Jean-Paul V
Bonjour à tous

Je n’arrive pas à affecter le changement de valeur de mon Combobox à 2
colonnes à ma cellule active. ( je veux affecter le choix de la 2 ème
colonne).
NB la cellule active est contrôlée par un Données Validation Liste sur la
2ème colonne de Rnature.

Où est mon erreur ?
Les propriétés de mon Combobox sont :

Boundcolumn 2
Columncount 2
RowSource Rnature ( le nom affecté à mes 2 colonnes)

Le code du Userform :
Private Sub ComboBox2_Change()' For i = 1 To 100
On Error GoTo Zut
Dim Désactiver As Boolean
If Désactiver Then Exit Sub
If ComboBox2.Value = "" Then Exit Sub
Désactiver = False
If Not Intersect(ActiveCell, Range("Saisie")) Is Nothing Then
'ActiveCell.Value = ComboBox2.Value ‘ne marche pas
ActiveCell.Value = ComboBox2.ControlSource
ActiveCell.Offset(0, -2).ClearContents
Désactiver = True
ComboBox2.Value = ""
UserForm1.Hide
Else
MsgBox "Vous n'êtes pas dans la zone de saisie"
Désactiver = True
ComboBox2.Value = ""
UserForm1.Hide
End If
Next i
Zut:
MsgBox a & " LA CELLULE ACTIVE N'EST PAS DANS LA ZONE DE SAISIE ! ! ! "
Désactiver = True
ComboBox2.Value = ""
UserForm1.Hide
End Sub

@+ j’espère

2 réponses

Avatar
Hervé
Bonsoir Jean-Paul,
Pour récupérer la valeur de la seconde colonne (l'index des colonnes
commence à 0) :

With ComboBox2
ActiveCell.Value = .Column(1, .ListIndex)
End With

Hervé.


"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous

Je n'arrive pas à affecter le changement de valeur de mon Combobox à 2
colonnes à ma cellule active. ( je veux affecter le choix de la 2 ème
colonne).
NB la cellule active est contrôlée par un Données Validation Liste sur la
2ème colonne de Rnature.

Où est mon erreur ?
Les propriétés de mon Combobox sont :

Boundcolumn 2
Columncount 2
RowSource Rnature ( le nom affecté à mes 2 colonnes)

Le code du Userform :
Private Sub ComboBox2_Change()' For i = 1 To 100
On Error GoTo Zut
Dim Désactiver As Boolean
If Désactiver Then Exit Sub
If ComboBox2.Value = "" Then Exit Sub
Désactiver = False
If Not Intersect(ActiveCell, Range("Saisie")) Is Nothing Then
'ActiveCell.Value = ComboBox2.Value 'ne marche pas
ActiveCell.Value = ComboBox2.ControlSource
ActiveCell.Offset(0, -2).ClearContents
Désactiver = True
ComboBox2.Value = ""
UserForm1.Hide
Else
MsgBox "Vous n'êtes pas dans la zone de saisie"
Désactiver = True
ComboBox2.Value = ""
UserForm1.Hide
End If
Next i
Zut:
MsgBox a & " LA CELLULE ACTIVE N'EST PAS DANS LA ZONE DE SAISIE ! ! !
"

Désactiver = True
ComboBox2.Value = ""
UserForm1.Hide
End Sub

@+ j'espère




Avatar
Jean-Paul V
Bonjour Hervé

ça marche, j'ai bien dans ma cellule active mon choix colonne 2 mais la
macro se plante avec un message erreur 381 ''impossible de lire la propriété
Column.Index de la Table de propriétés non valide''

@+ j'espère et merci pour votre aide


Bonsoir Jean-Paul,
Pour récupérer la valeur de la seconde colonne (l'index des colonnes
commence à 0) :

With ComboBox2
ActiveCell.Value = .Column(1, .ListIndex)
End With

Hervé.


"Jean-Paul V" a écrit dans le message
de news:
Bonjour à tous

Je n'arrive pas à affecter le changement de valeur de mon Combobox à 2
colonnes à ma cellule active. ( je veux affecter le choix de la 2 ème
colonne).
NB la cellule active est contrôlée par un Données Validation Liste sur la
2ème colonne de Rnature.

Où est mon erreur ?
Les propriétés de mon Combobox sont :

Boundcolumn 2
Columncount 2
RowSource Rnature ( le nom affecté à mes 2 colonnes)

Le code du Userform :
Private Sub ComboBox2_Change()' For i = 1 To 100
On Error GoTo Zut
Dim Désactiver As Boolean
If Désactiver Then Exit Sub
If ComboBox2.Value = "" Then Exit Sub
Désactiver = False
If Not Intersect(ActiveCell, Range("Saisie")) Is Nothing Then
'ActiveCell.Value = ComboBox2.Value 'ne marche pas
ActiveCell.Value = ComboBox2.ControlSource
ActiveCell.Offset(0, -2).ClearContents
Désactiver = True
ComboBox2.Value = ""
UserForm1.Hide
Else
MsgBox "Vous n'êtes pas dans la zone de saisie"
Désactiver = True
ComboBox2.Value = ""
UserForm1.Hide
End If
Next i
Zut:
MsgBox a & " LA CELLULE ACTIVE N'EST PAS DANS LA ZONE DE SAISIE ! ! !
"

Désactiver = True
ComboBox2.Value = ""
UserForm1.Hide
End Sub

@+ j'espère