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

Problème avec nom défini dynamiquement

  • Initiateur de la discussion Initiateur de la discussion Lolote83
  • 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 !

Lolote83

XLDnaute Barbatruc
Bonjour à tous,
Je rencontre un problème qui nécessite vos interventions.
Comment se fait-il qu'alimenter un combobox via un nom défini non dynamiquement fonctionne alors que si ce même combobox est défini via un nom dynamique cela ne fonctionne pas. (Les comboBox ne sont pas inclus dans un formulaires mais directement sur la feuille Excel)

Vous trouverez donc dans le fichier joint 2 onglets.

- Un onglet OK avec les explications et le résultat qui marche
- Un onglet NON avec les explications mais avec des résultats incompréhensibles.

Un grand merci à tous ceux qui oseront se casser la tête sur ce problème.
Cordialement
Lolote83
 

Pièces jointes

Dernière édition:
Re : Problème avec nom défini dynamiquement

Bonjour,

A cause du recalcul automatique à chaque fois que dans le code tu modifies une cellule ex: [L11]= Combobox2.Listindex. Calcul qui rapelle une mise à jour de la source du combox. Mise à jour qui appelle l'évènement Change du Combox etc., etc....

proposition:
Code:
Private Sub ComboBox2_Click()
    Application.Calculation = xlCalculationManual
    [L8] = ComboBox2.Column(0)
    [L9] = ComboBox2.Column(1)
    [L10] = ComboBox2.Column(2)
    [L11] = ComboBox2.ListIndex
    Application.Calculation = xlCalculationAutomatic
End Sub

A+

[Edition] la méthode de Dranreb ci-dessous est celle que je privilegie également.
 
Dernière modification par un modérateur:
Re : Problème avec nom défini dynamiquement

Bonjour.
J'avais déjà entendu parlé, par des confrères d'ExcelDownload, de bug concernant les propriétés ListFillRange et RowSource lorsque des noms de plage dynamiques leurs sont assignées. Mais je ne les avais jamais constatées moi même, car j'ai toujours limité leur emploi au strictes plages fixes (quitte à les rectifier dans d'autre partie de l'appli si leur taille change). Dans tous les autres cas qui ne nécessitent pas carrément un remplissage ligne par ligne au moyen d'AddItem, je renseigne la propriété List du combobox. Ici, cela peut se faire ainsi:
VB:
Private Sub Worksheet_Activate()
Me.ComboBox2.Object.List = [xBaseDyn].Value
End Sub
Cordialement.
 
Dernière édition:
Re : Problème avec nom défini dynamiquement

Merci Hasco, Dranreb,
En ce qui concerne la méthode de Dranreb, j'ai le message suivant qui apparait :
"Erreur d’exécution 70, Permission refusée"
Quand à ta solution asco, je l'avais aussi testée mais le résulta était le même.
Je continue mes recherches.
Merci encore à vous deux.
Cordialement
Lolote83
 
RESOLU Problème avec nom défini dynamiquement

Salut Hasco,
Trop vite répondu. Ta solution marche.
Quand je t'ai dis que j'avais testé, je n'avais pas inscrit les deux lignes suivantes qui sont dans ton code et qui annule le calcul automatique.
Application.Calculation = xlCalculationManual
........
Application.Calculation = xlCalculationAutomatic
Donc un GRAND MERCI à vous deux
Cordialement
Lolote83
 
Dernière édition:
Re : Problème avec nom défini dynamiquement

Re,


Pour faire fonctionner la solution de Dranreb, ôter '.Object'
Code:
Private Sub Worksheet_Activate()
ComboBox2.List = Feuil1.Range("xBaseDyn").Value
End Sub

A+
 
Re : Problème avec nom défini dynamiquement

Non, le "Permission refusée" vient de ce que la la propriété ListFillRange n'a pas été nettoyée de la fenêtre de propriété.
Mais c'est vrai que la propriété List du contrôle est apparemment accessible directement comme membre de ComboBox2 bien que ça ne puisse pas être un ComboBox (les feuille de calcul ne supportent pas ce genre d'objet directement)
 
Re : Problème avec nom défini dynamiquement

Re,

C'est vrai. L'obet "Forms.ComboBox.1" et son shape conteneur ont le même nom mais excel fait la différence apparament.

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

Discussions similaires

Réponses
10
Affichages
732
Réponses
14
Affichages
1 K
F
  • Question Question
Réponses
11
Affichages
1 K
A
Réponses
2
Affichages
1 K
L
Réponses
40
Affichages
5 K
lalimace
L
D
Réponses
5
Affichages
2 K
Dje_Ejd
D
S
Réponses
8
Affichages
2 K
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…