Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Utilisation Contrôles ActiveX sur une feuille de calcul

cathodique

XLDnaute Barbatruc
Bonjour,

Mettant basé sur les exemples de Boisgontier, je suis parvenu à faire un Formulaire. je voudrai utiliser les contrôles activeX pour parvenir au même résultat qu'avec le formulaire.

Il y a en effet, sur le site de Boisgontier une page qui traite des "Contrôles tableur(BO contrôles)", mais je n'y parviens pas.

Je me heurte à 2 difficultés, la première comment ancrer et ajuster une Combobox ou Listbox aux dimensions de la cellule et la deuxième comment les coder pour parvenir au même résultat qu'avec le formulaire.

Par l'entremise du formulaire, j'effectue des sélections successives (via combobox Cb1, Cb2 et Cb3) de données issues de la feuille BD, ces dernières sont transmises aux cellules (C4, F4 et I4), ensuite une macro se déclenche pour récupérer des données de la feuille BD ayant comme critères (C4, F4 et I4).

En vous remerciant beaucoup.

Cordialement,
 

Pièces jointes

  • Contrôles ActiveX.xls
    187.5 KB · Affichages: 62
  • Contrôles ActiveX.xls
    187.5 KB · Affichages: 86
  • Contrôles ActiveX.xls
    187.5 KB · Affichages: 74

david84

XLDnaute Barbatruc
Re : Utilisation Contrôles ActiveX sur une feuille de calcul

Bonjour,
comment ancrer et ajuster une Combobox ou Listbox aux dimensions de la cellule
Sélectionner la listbox.
Redimensionner le contrôle en faisant coincider ses dimensions à celle de la cellule.
Aller dans les propriétés de la listbox et placer la propriété placement sur 1.
A+
 

cathodique

XLDnaute Barbatruc
Re : Utilisation Contrôles ActiveX sur une feuille de calcul

Bonjour David84,

Merci beaucoup, mais je viens d'effectuer les manipulations. J'ai essayé avec une combobox et une listbox mais elles ne s'ajustent pas exactement aux contours de la cellule. J'ai mis 1 sur la propriété "placement".

A+
 

kjin

XLDnaute Barbatruc
Re : Utilisation Contrôles ActiveX sur une feuille de calcul

Bonsoir,
Fichier réadapté en PJ
Il me semble que les cellules C4,F4 et I4 ne sont pas utiles
Je n'ai pas vérifié la macro Tx_Bord

Bonjour David

A+
kjin
 

Pièces jointes

  • cathodique.xls
    174.5 KB · Affichages: 71
  • cathodique.xls
    174.5 KB · Affichages: 75
  • cathodique.xls
    174.5 KB · Affichages: 77
Dernière édition:

cathodique

XLDnaute Barbatruc
Re : Utilisation Contrôles ActiveX sur une feuille de calcul

Bonjour MJ13, Bonjour Kjin,

@MJ13 Merci pour l'astuce, en effet avec la touche Alt l' contrôle s'ajuste aux dimensions de la cellule.

@Kjin Merci beaucoup, pour ton fichier il fonctionne bien. Je n'ai encore tout compris pour insérer ma macro TxBord.
Dans cette macro, j'utilise les les cellules C4, F4 et I4 comme critères pour récupérer les données sur ma feuille.

Cette feuille sera imprimée, je sais que l'on peut décocher l'impression des contrôles.
Donc étant donné que ma macro fonctionne par rapport aux cellules C4,F4 et I4, et que ces dernières doivent figurer sur la feuille imprimée; je vais voir comment adapter ton code pour transmettre les valeurs des combobox aux cellules.

Merci beaucoup pour votre aide.

Cordialement,
 

cathodique

XLDnaute Barbatruc
Re : Utilisation Contrôles ActiveX sur une feuille de calcul

Re, Kjin

J'ai effectué quelques modifications pour adapter ton code. Mais je t'avoue que je n'ai pas compris par quelle magie, les combobox sont sans doublons. Pour arriver à ceci, avec une userform je suis passer par un dictionnaire.

Voudrais-tu m'expliquer cela s'il te plait.

Voici le code modifier, j'ai mis la propriété PrintObject à False
Code:
Private Sub ComboBox1_Change()
ComboBox2.ListIndex = -1
If ComboBox1.ListIndex = -1 Then Exit Sub
alimCombo2 ComboBox2, CStr(ComboBox1)   '*** AlimCombo2 c'est quoi?
End Sub

Private Sub ComboBox2_Change()
ComboBox3.ListIndex = -1
If ComboBox2.ListIndex = -1 Then Exit Sub
alimCombo3 ComboBox3, CDate(ComboBox2)
End Sub

Private Sub ComboBox3_Change()
If ComboBox1 <> "" And ComboBox2 <> "" And ComboBox3 <> "" Then
Range("f4") = ComboBox1: Range("c4") = ComboBox2: Range("I4") = ComboBox3
Tx_Bord
End If
End Sub
Merci beaucoup.
 
Dernière édition:

cathodique

XLDnaute Barbatruc
Re : Utilisation Contrôles ActiveX sur une feuille de calcul

Re, Kjin

J'en conviens il n'y a point de magique, si ce n'est le code.

Je reviens pour te demander d'éclairer ma lanterne. je viens de rajouter une feuille que j'ai nommé "TxBord1", pour mettre ton code (pour m'exercer et garder ce fichier dans ma caverne). Mais je rencontre un problème, je n'ai aucune donnée dans les comboboxs.

J'ai mis la propriété "Placement" à 1 pour que la combo s'ajuste à la cellule, La "PrintObject" à false.

Est-ce qu'il faut autre chose pour alimenter les comboboxs?

Merci beaucoup.

Cordialement,
 

Pièces jointes

  • Contrôles ActiveX.xls
    201.5 KB · Affichages: 63
  • Contrôles ActiveX.xls
    201.5 KB · Affichages: 64
  • Contrôles ActiveX.xls
    201.5 KB · Affichages: 76
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…