Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Bonjour à tous le forum.
J'aurais une petite question, suite à une manip que je suis entrain de réaliser.
J'ai une succession de combobox (par exemple numérotées de 1 à 100).
Quand le sort de chacune de ces combo je souhaite faire une action.
Jusque là tout va bien, je repéte à chaque fois la macro ci-dessous.
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If UserForm3.ComboBox1 <> "" Then
UserForm3.ComboBox38.Value = UserForm3.ComboBox37.Value
End If
End Sub
------------------------------------------------------------------------
Private Sub ComboBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If UserForm3.ComboBox2 <> "" Then
UserForm3.ComboBox39.Value = UserForm3.ComboBox37.Value
End If
End Sub
Etc, etc pour chaque combo (fastidieux et risque d'erreur).
Y aurais t'il un moyen de faire une "boucle" qui évite de retaper à chaque fois l'instruction et/ou qui rende le code plus simple ?
fais peut être une recherche du coté des modules de classes, par contre je ne comprends pas trop le but final de ton code, d'alimenter des combobox par d'autrres so l'on sort d'une autre....
peut être qu'un fichier allégé et sans données confidentielles nous éclairerait un peu plus, afin de t'aider au mieux.
Merci de ce conseil,
Le but de mon code c'est de pré-remplir des champs avec une valeur qui est déjà remplie.
Je m'explique :
J'ai une CB1(impaire) à laquelle j'affecte "A" et une CB2 (paire) à laquelle j'affecte "B"
J'ai ainsi plein de CB à remplir. Afin de simplifier, je souhaite préremplir les CB(paire) avec la valeur de CB2, dés lors que quelque chose a été rentré dans une des CB impaire.
Je ne suis pas sur d'avoir tout compris, mais regarde le fichier joint, exemple à base d'un module de classe, sur 6 combobox, nécessite que le nom de tes contrôles se termine par 3 chiffres de 001 à 999.
L'événement Exit n'étant pas disponible dans un module de classe, j'ai utilisé l'événement "change".
Attention si le code bogue, comme je désactive les procédures événementielles avec "Application.EnableEvents = False" il y aurait lieu de relancer la ligne de code ci dessous :
Merci de ce conseil,
Le but de mon code c'est de pré-remplir des champs avec une valeur qui est déjà remplie.
Je m'explique :
J'ai une CB1(impaire) à laquelle j'affecte "A" et une CB2 (paire) à laquelle j'affecte "B"
J'ai ainsi plein de CB à remplir. Afin de simplifier, je souhaite préremplir les CB(paire) avec la valeur de CB2, dés lors que quelque chose a été rentré dans une des CB impaire.
Salut
P'vez répéter la question 😕 ?!? Ton texte est incohérent par rapport à tes exemples
si je comprends bien
quand tu sort d'une CB impaire
tu testes si elle est vide
si ce n'est pas le cas, tu remplies l'intégralté des CB paire avec la valeur de CB2
ce qui revient à dire que quand tu sorts d'une combo, si une ou plusieurs combo impaires ne sont pas vides, tu remplis toutes les combo paires
Code:
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If UserForm3.ComboBox1 <> "" Then
UserForm3.ComboBox38.Value = UserForm3.ComboBox37.Value
End If
End Sub
devient
Code:
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call Remplissage
End Sub
quelque soit la combo impaire (juste le nom de la combo qui évolue
au-dessus des macros, tu Crées ta macro remplissage
Code:
Sub Remplissage()
Dim X As Integer
Dim Y As Integer
For X = 1 To 100 Step 2
If Me.Controls("ComboBox" & X) <> "" Then
For Y = 2 To 100 Step 2
Me.Controls("ComboBox" & Y) = me.ComboBox37
Next Y
Exit For
End If
Next X
End Sub
Te reste plus qu'à copier les macros d'appel,
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) Call Remplissage End Sub Private Sub ComboBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call Remplissage
End Sub
Avec un copier/coller judicieux (partie en rouge par exemple), te reste le numéro à écire
A+
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD