XL 2010 Ruban personnalisé - combobox - alimentation / action

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

  • Classeur1.xlsm
    143.4 KB · Affichages: 49

Caillou

XLDnaute Impliqué
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

  • Classeur1.xlsm
    145.3 KB · Affichages: 64

Bulr6

XLDnaute Nouveau
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.
 

Statistiques des forums

Discussions
294 211
Messages
1 936 901
Membres
188 103
dernier inscrit
srr77