XL 2010 Ruban personnalisé - combobox - alimentation / action

  • Initiateur de la discussion Initiateur de la discussion Bulr6
  • Date de début Date de début

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 !

Bulr6

XLDnaute Nouveau
Bonjour à tous,
j'ai commencé a œuvré sur un fichier excel avec ruban personnalisé.
Malheureusement, je butte sur l'alimentation d'une combobox.
Mon probleme est que j'arrive à remplir ma combobox avec un critère de texte qui filtre mes lignes. Donc il me retient bien mes lignes mais elle garde les "blanc" des lignes qui ne correspondent pas aux critères

Enfin et le je ne sais même pas par où commencer je voudrais qu'une fois mon choix sélectionné dans ma combobox il m'exécute une action sur la ligne correspondant

voici le code customUI
Code:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="RubanCharge">

    <ribbon startFromScratch="false">
        <tabs>

  <tab id="OngletPerso" label="     PRETS ENTRE SECTION / RESERVATIONS     " insertBeforeMso="TabHome" visible="true">
           
   <group id="GR04" label="réservation non disponible">

      <!-- getItemCount="NbItemCombo" va définir le nombre d'items dans la combobox. -->
      <!-- getItemLabel="ComboLabel" permet d'alimenter la combobox. -->
      <!-- invalidateContentOnDrop="true" permet la mise à jour automatique du contrôle. -->

      <comboBox id="Combo1" label="Choix : " getItemCount="NbItemCombo" getItemLabel="ComboLabel"
         invalidateContentOnDrop="true" />
   </group>

            </tab>
        </tabs>
    </ribbon>
</customUI>

Et le module VB :

VB:
Sub NbItemCombo(control As IRibbonControl, ByRef returnedVal)
    'Définit le nombre d'éléments dans la combobox
    'Récupère le nombre de données dans la colonne A.
    returnedVal = Feuil1.Range("F65536").End(xlUp).Row
End Sub
'Callback for Combo1 getItemLabel
'Index est défini par la valeur saisie dans la fonction de rappel NbItemCombo
Sub ComboLabel(control As IRibbonControl, index As Integer, ByRef returnedVal)
    If Feuil1.Range("F65536").End(xlUp).Row = 0 Then Exit Sub
    'Alimente le Combobox à partir des données de la plage de cellules
        If Feuil1.Cells(index + 1, 2) Like "*non*" Then
            returnedVal = Feuil1.Cells(index + 1, 6)
        End If
End Sub

Donc en colonne B, si le mot "non" est détecté il doit alimenté la combobox avec la valeur trouver en colonne F

je remercie tous ceux qui prendront le peine de me lire et de m'aider dans ma démarche.
 

Pièces jointes

Bonjour,

J'ai rajouté une feuille pour extraire les lignes concernées + mis une proc qui déclenche l'extraction lorsque l'on modifie les données (colonne B ou F) et la liste est alimentée correctement.
Par contre pour le XML, je ne sais pas !

Caillou
 

Pièces jointes

Super merci caillou ... ça fonctionne et j'ai réussi à adapter à mon fichier qui est plus conséquent.
Maintenant je vais essayer de me pencher sur le but de cette combobox.
1/ agir sur la ligne correspondante en feuil1 - TRAITEMENT : en fait, je souhaiterais via un bouton (qui est déjà crée dans mon ruban ) supprimé justement le mot "non" de la ligne
2/via un autre bouton lancer une macro en prenant en compte une valeur dans une autre colonne mais toujours s'agissant de la ligne sélectionné dans la feuille 1.

Je commence mes recherches et si besoin d'aides je me permettrais d'amender ce fil.
 
- 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

Discussions similaires

Réponses
0
Affichages
2 K
Retour