changer la valeur de plusieurs combobox

alfazoulou

XLDnaute Occasionnel
Bonjour,
je voudrais changer la valeur de plusieurs combobox suivant celle de l'un d'entre eux.

Private Sub ComboBox23_Change()

If MsgBox("Appliquer à tous ?", vbYesNo) = vbYes Then
ComboBox(24, 25, 26, 27, 28, 29, 30, 31).Value = ComboBox23.Value

End If
End Sub


Merci
 

Pierrot93

XLDnaute Barbatruc
Re : changer la valeur de plusieurs combobox

Bonjour,

essaye peut être avec ceci, à placer dans le module de la feuille ou dans celui de l'usf, "me" faisant référence à ces objets :
Code:
Dim i As Byte
For i = 24 To 31
    Me.Controls("ComboBox" & i).Value = ComboBox23.Value
Next i

bonne journée
@+
 

alfazoulou

XLDnaute Occasionnel
Re : changer la valeur de plusieurs combobox

Merci pour ta réponse rapide mais cela ne fonctionne pas chez moi, j'ai du mal mettre ton code en pratique.
En fait seul le combobox 24 change.


Private Sub ComboBox23_Change()
Dim i As Byte

If MsgBox("Appliquer à tous ?", vbYesNo) = vbYes Then
For i = 24 To 31
Me.Controls("ComboBox" & i).Value = ComboBox23.Value
Next i

End If
End Sub
 

alfazoulou

XLDnaute Occasionnel
Re : changer la valeur de plusieurs combobox

toujours pas!
même en passant par un bouton comme ci dessous

Private Sub CommandButton16_Click()
Dim i As Byte
For i = 24 To 31
Me.Controls("ComboBox" & i).Value = ComboBox23.Value
Next i

End Sub
 
C

Compte Supprimé 979

Guest
Re : changer la valeur de plusieurs combobox

Bonjour le fil,
Salut Pierrot ;)

Peut-être comme ceci
Code:
Private Sub ComboBox1_AfterUpdate()
  Dim i As Byte
  If MsgBox("Appliquer à tous ?", vbYesNo) = vbYes Then
    For i = 24 To 31
      Me.Controls("ComboBox" & i).Value = ComboBox1.Value
    Next i
  End If
End Sub

Ou alors comme ça à chaque modification dans le Combobox
Code:
Dim FlgExit As Boolean
Private Sub ComboBox1_Change()
  Dim i As Byte
  ' Sort de la procédure si on est dans la boucle
  If FlgExit = True Then Exit Sub
  '
  If MsgBox("Appliquer à tous ?", vbYesNo) = vbYes Then
    FlgExit = True
    For i = 24 To 31
      Me.Controls("ComboBox" & i).Value = ComboBox1.Value
    Next i
    FlgExit = False
  End If
End Sub

A+
 
Dernière modification par un modérateur:

alfazoulou

XLDnaute Occasionnel
Re : changer la valeur de plusieurs combobox

Merci Bruno de te joindre à Pierrot93 pour me venir en aide, je vais essayer ta proposition et en attendant j'ai essayé la solution de Pierrot93 sur un petit classer elle fonctionne, mais quand je copie mon userform d'origine sur un autre classeur cela ne fonctionne pas comme vous pourrez le constater sur le fichier joint.
 

Pièces jointes

  • Classeur2.xls
    37 KB · Affichages: 44
  • Classeur2.xls
    37 KB · Affichages: 42
  • Classeur2.xls
    37 KB · Affichages: 36

alfazoulou

XLDnaute Occasionnel
Re : changer la valeur de plusieurs combobox

J'ai trouvé un début de piste qui m'enfonce un peu plus dans le mystère!!!
Quand j'ouvre seul le fichier Classeur2 contenant le code de Pierrot93, ça marche...
si j'ouvre aussi mon fichier original, ça marche plus ??????
défaillance d'Excel ou de mon PC ???
Avez vous une solution ?
 

Pierrot93

XLDnaute Barbatruc
Re : changer la valeur de plusieurs combobox

RE, bonjour Bruno:)

oui, générateur de problème l'utilisation de "rowsource"... préférer l'alimentation par "list" ou "additem".

As tu testé, comme le péconise Bruno avec l'événement "AfterUpdate", et ce en remplacant TOUS les événements "change" des combo concernés par leur événement "AfterUpdate" respectif.
 

alfazoulou

XLDnaute Occasionnel
Re : changer la valeur de plusieurs combobox

Oui j'ai essayé sans succès l'événement "AfterUpdate" du combobox 23 à partir duquel les valeurs des autres combobox doivent changer mais à part le 23, aucun changement dans les autres combobox ne doit déclencher une procédure donc leur événement "AfterUpdate" n'est pas utilisé.
Comment remplacer l'utilisation de "rowsource" par "list" ou "additem" ??
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi