Résolu Remplir une combobox sur une feuille excel

thunder23

XLDnaute Occasionnel
Bonsoir le forum,

Je viens vers vous car je souhaiterais remplir une ComboBox qui est sur une feuille excel avec le contenu d'une colonne sur une autre feuille excel. Je n'ai jamais eu à faire comme ça car auparavant s'était dans un UserForm.

Merci d'avance pour votre aide :)
 

Jacky67

XLDnaute Accro
Bonjour,
Nommer la plage de cellule à mettre dans le combobox par exemple ==>liste
Dans la propriété du combobox ListFillRange ==>liste
Adapter aussi >>ListRows
 

Fichiers joints

thunder23

XLDnaute Occasionnel
Bonjour,
Nommer la plage de cellule à mettre dans le combobox par exemple ==>liste
Dans la propriété du combobox ListFillRange ==>liste
Adapter aussi >>ListRows
Bonjour Jacky67,

D'abord merci pour le message :)
Est-il possible que le ComboBox puisse prendre la mise en forme de la cellule (couleur de la cellule et du texte) ?

Cordialement
Michel
 

Jacky67

XLDnaute Accro
RE..
Dans les propriétés du combobox, il suffit de prendre les mêmes couleurs que la cellule.
Pour prendre les couleurs d'une cellule il faut passer par du vba
Dans la pj, il y a les deux exemples.
Le combobox2 prend les couleurs de la cellule G1.
Dans cet exemple cela se fait à l'ouverture du classeur.
 

Fichiers joints

thunder23

XLDnaute Occasionnel
Re,

En fait je pense que dans mon cas ça serait plus avec le VBA car en fait je viens de me relire et je n'ai pas précisé que s'était soit sur une cellule ou sur une plage...
J'ai mis en pj un exemple avec des cellules de couleur différente sur la feuille2 par ailleurs j'ai un peu essayé avec Combobox_change pour que ça prenne si on modifie la sélection mais sans succès...

Cdlt
 

Fichiers joints

thunder23

XLDnaute Occasionnel
Re,

J'ai un petit soucis car quand je change de "test" ça garde la même couleur au lieu que ça la change est-ce normal ?

Cdlt
 

thunder23

XLDnaute Occasionnel
Re,

Ahh en fait j'ai trouvé, il faut cliqué sur la cellule pour que ça change de MFC et non quand on change de "test". Est-il possible que ça le fasse automatiquement (quand on change de "test")?
 

thunder23

XLDnaute Occasionnel
Re...

En fait c'est pour gagner du temps et réduire aussi mon code VBA pour la saisie de mes postes de travail car aujourd'hui j'utilise 17 boutons différents.
J'ai fais un fichier Excel en exemple mais qui en emplacement sera presque pareil au réel pour que vous puissiez mieux comprendre pourquoi. Je n'utilise aucune MFC aujourd'hui, je fais tout par VBA car j'ai des bug quand je rentre certains poste toutefois j'ai trouvé une astuce dernièrement.

Cdlt
 

Fichiers joints

Jacky67

XLDnaute Accro
RE,
Je ne vois aucun rapport avec le coloriage du combobox
Une proposition en PJ

**Pj modifiée
 

Fichiers joints

Dernière édition:

thunder23

XLDnaute Occasionnel
Re,

en fait le coloriage de la ComboBox était pour un souhait spécifique mais j'aime bien cette proposition par contre la ligne supprimer ne me servira pas, comment puis-je la supprimer?
Dernière petite chose que je doutais du dysfonctionnement, j'ai les boutons CP, HAR, RSU, AM mais aussi quand j'ai un nombre de poste qui ont des spécificités, comment je pourrais les intégrer à votre macro?
J'ai en pj les macros qui me posent problème

Encore merci
Cdlt
 

Fichiers joints

Jacky67

XLDnaute Accro
Re..
Pour supprimer un item du combobox, il suffit de supprimer sa ligne en feuil2
Je ne vois aucun bouton dans les exemples proposés ni leurs codes, n'y d'explications.
Le classeur utilisé et définitif dans sa structure sera nécessaire
Si le classeur en pj convient, merci d'y intégrer ces boutons et leurs codes.
 

Fichiers joints

thunder23

XLDnaute Occasionnel
Re,

Pas de soucis pour vous montrer le classeur définitif mais le seul soucis est qu'en terme de taille il ne passe pas en pj sur le forum (taille du fichier environ 11 Mo), toutefois je peux vous donner le lien qui est sur dropbox pour pouvoir le télécharger. Il y a un bouton information pour expliquer le fonctionnement et dans le code VBA j'ai mis autant que possible le but du code.


Cordialement
Michel
 

Jacky67

XLDnaute Accro
Re..
Modifier ce classeur est pour moi==>mission impossible, il faudrait des semaines.
Désolé.
Si tu es à l'origine de ce projet, cela ne devrait pas poser de problème pour adapter les boutons à un combobox.
On est quand même très.. très.. loin de la demande d'origine
*/Remplir une combobox sur une feuille excel/*
Sinon, ouvre un nouveau poste, peut-être quelqu'un……..
 

thunder23

XLDnaute Occasionnel
Re...

Ce n'est pas grave c'est déjà énorme l'avancé qui a été faite, merci encore.
Oui l'origine du projet est de moi après certains code m'ont été proposé car à l'époque le code VBA j'étais novice mais je sais comment ils fonctionnent.
Effectivement on est trèèèèès loin de la demande d'origine, je me suis un peu emporté pour le coup mais ça me fait plaisir de partager dans ce domaine mais je pense que je vais d'abord voir si je peux adapter les codes avec celui que tu m'as proposé sinon je ferais un autre poste ;)

Merci encore
Cordialement
Michel
 

thunder23

XLDnaute Occasionnel
Re,

Petite question sur la ComboBox, est-il possible qu'elle puisse juste aller cher la valeur dans la cellule?
Merci

Cordialement
Michel
 

Jacky67

XLDnaute Accro
Re..
C'est ce qu'elle fait
Essaie ce code pour mieux voir

VB:
Private Sub ComboBox_poste_Change()
    Dim C As Range
    If ComboBox_poste.ListIndex = -1 Then Exit Sub
    For Each C In Selection    'Boucle sur les cellules selectionnées
        If Not Intersect(C, [plage]) Is Nothing Then    ' vérifie si C est bien dans plage("plage" est un nom défini)
            Feuil2.Cells(ComboBox_poste.ListIndex + 3, 2).Copy C
            MsgBox "Valeur de la cellule recherchée: " & Feuil2.Cells(ComboBox_poste.ListIndex + 3, 2) & vbLf & "Adresse de la cellule recherchée : Feuil2 " & Feuil2.Cells(ComboBox_poste.ListIndex + 3, 2).Address & vbLf & "Adresse de la cellule de destination: " & C.Address
        End If
    Next
    If [c36] = "" Then [d36] = "": [d36].Interior.ColorIndex = xlNone
    ComboBox_poste = ""
End Sub
 

thunder23

XLDnaute Occasionnel
Re..
C'est ce qu'elle fait
Essaie ce code pour mieux voir

VB:
Private Sub ComboBox_poste_Change()
    Dim C As Range
    If ComboBox_poste.ListIndex = -1 Then Exit Sub
    For Each C In Selection    'Boucle sur les cellules selectionnées
        If Not Intersect(C, [plage]) Is Nothing Then    ' vérifie si C est bien dans plage("plage" est un nom défini)
            Feuil2.Cells(ComboBox_poste.ListIndex + 3, 2).Copy C
            MsgBox "Valeur de la cellule recherchée: " & Feuil2.Cells(ComboBox_poste.ListIndex + 3, 2) & vbLf & "Adresse de la cellule recherchée : Feuil2 " & Feuil2.Cells(ComboBox_poste.ListIndex + 3, 2).Address & vbLf & "Adresse de la cellule de destination: " & C.Address
        End If
    Next
    If [c36] = "" Then [d36] = "": [d36].Interior.ColorIndex = xlNone
    ComboBox_poste = ""
End Sub
Re,

oui je comprends bien, merci d'avoir décripter pas á pas la variable mais comment faire pour prendre que la valeur (ex: M) sans la mise en forme?
j'avoue que je n'ai pas précisé et je m'en excuse. :)

Cdlt
Michel
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas