ComboBox qui s'alimente toute seule dans un fichier et pas dans l'autre qui est ident

Essart

XLDnaute Junior
Bonjour à tous,
et bonne année,

Je rencontre quelquechose que je ne comprends pas.

J'ai un fichier plus gros (1 Mo env) où les ComboBox de formulaire ne s'alimentent pas.
Ce fichier comporte des checkbox, avec blocage à la 1ère selection (programme de JB),
et 2 combobox qui s'alimentent selon des données contenues dans 2 feuilles du fichier.
La combobox Ma_liste fonctionne sans problème.
Alors que celle nommée Preselection se met très vite à n'être pas alimentée

J'ai essayer de resserrer jusqu'au coeur du problème en obtenant 2 plus petits fichiers identiques :

l'un, testOK,
où la Combobox "Préselection" s'auto-alimente normalement à partir de la feuille "GENERALITE_base" du fichier, cellules B23 à B38, en concordance avec le numéro de checkbox coché qui apparaît dans les cellules A23 à A38 correspondantes.

et l'autre, testàpb,
identique en tout point, mêmes lignes de codes, sauf que là,
lorsque l'on active la combobox après avoir coché l'une des 7 combobox possibles, aucun choix n(est proposé dans la combobox.

S'agit-il d'un comportement capricieux d'excel (2003 sous XP), ou bien alors où se trouve l'erreur, la différence ...?

Initialement, le fichier comporte 7 formulaires comme celui existant dans le présent fichier, tous similaires dans le programmes, seul le nombre de checkbox variant...

Merci pour votre aide

Essart
 

Pièces jointes

  • testOK.xls
    227.5 KB · Affichages: 45
  • testàpb.xls
    228 KB · Affichages: 49
  • testOK.xls
    227.5 KB · Affichages: 52
  • testàpb.xls
    228 KB · Affichages: 51
  • testOK.xls
    227.5 KB · Affichages: 50
  • testàpb.xls
    228 KB · Affichages: 49

Paf

XLDnaute Barbatruc
Re : ComboBox qui s'alimente toute seule dans un fichier et pas dans l'autre qui est

Bonjour

après avoir jeté un oeil:

l'un, testOK,
où la Combobox "Préselection" s'auto-alimente normalement à partir de la feuille "GENERALITE_base" du fichier, cellules B23 à B38, en concordance avec le numéro de checkbox coché qui apparaît dans les cellules A23 à A38 correspondantes.
sur la feuille GENERALITES, les cellules B23 à B38 sont renseignées

et l'autre, testàpb,
identique en tout point, mêmes lignes de codes,
les cellules B23 à B38 de la feuille GENERALITES ne sont pas renseignées

la Combobox "Préselection" ne peut donc pas être renseignée.


je n'ai pas poussé plus loin pour comprendre comment étaient renseignées ces cellules.

A+
 

Essart

XLDnaute Junior
Re : ComboBox qui s'alimente toute seule dans un fichier et pas dans l'autre qui est

Bonjour Paf,

en fait le but du formulaire est
-> d'éviter de remplir à la main dans la feuille GENERALITE les 7 points à vérifier écrits sur les lignes 13 à 19 et numérotés de 1 à 7.

J'ai donc créé une copie de cette feuille appelée GENERALITE_base,
où je rentre dans les lignes 23 à 38, pour chaque type de cas, les différents défauts pouvant être rencontrés ...

Ce que je cherche à faire, c'est !
-> par le formulaire créé, en cochant l'une des 7 case à cocher du formulaire,
alimenter la combobox Preselection avec les seuls défauts correspondants au numéro de la checkbox sélectionnée,
-> pour pouvoir sélectionner dans la combobox celui de mon choix mais déjà trié sur le bon numéro de checkbox...
-> et pour l'envoyer dans la textbox 4 en dessous pour être complété éventuellement,
-> avant renvoi dans la feuille GENERALITE dans la 1ère cellule vide de B23 à B38.
....
sauf que je n'arrive pas sans comprendre pourquoi à alimenter la checkbox Preselection !

Voici les lignes de code pour l'alimenter :
(dans le programme Validation dans le formulaire)

' a = 1ère ligne de commentaire personnalisé - feuille Base_GENERALITES colonne B
' b = dernière ligne de commentaire personnalisé - feuille Base_GENERALITES colonne B
' c = numéro du commentaire personnalisé - feuille Base_GENERALITES colonne A et de la CheckBox

' vide toutes les présélections existantes
Do While Me.Preselection.ListCount > 0
Me.Preselection.RemoveItem (0)
Loop

' Alimente la liste des présélections
With Sheets("Base_GENERALITES")
For I = a To b
If Cells(I, 2) <> "" And Cells(I, 1) = c Then Generalite.Preselection.AddItem Cells(I, 2).Value
Next I
End With


Je ne sais pas si c'est très clair ...?

Merci

Essart

' Alimente la liste des présélections
With Sheets("Base_GENERALITES")
For I = a To b
If Cells(I, 2) <> "" And Cells(I, 1) = c Then Generalite.Preselection.AddItem Cells(I, 2).Value
Next I
End With
 

Paf

XLDnaute Barbatruc
Re : ComboBox qui s'alimente toute seule dans un fichier et pas dans l'autre qui est

Re,

le code fonctionne parfaitement, ce que je disais c'est que les cellules B23 à B38 de la feuille "GENERALITE_base" étant vide la combobox ne peut pas être remplie.

Bonne suite
 

Bebere

XLDnaute Barbatruc
Re : ComboBox qui s'alimente toute seule dans un fichier et pas dans l'autre qui est

bonjour Essart,Paf
dans sub validation il faut . devant cells
mis du code dans bouton valider
tu peux mettre le code des checkbox dans le module de classe
 

Pièces jointes

  • testàpb.xls
    125.5 KB · Affichages: 48
  • testàpb.xls
    125.5 KB · Affichages: 48
  • testàpb.xls
    125.5 KB · Affichages: 46

Essart

XLDnaute Junior
Re : ComboBox qui s'alimente toute seule dans un fichier et pas dans l'autre qui est

Bonjour Bebere,

Merci pour la modification apportée,
cela va sans doute être plus rapide .

Merci pour ta réponse Paf,

tu écris :
le code fonctionne parfaitement, ce que je disais c'est que les cellules B23 à B38 de la feuille "GENERALITE_base" étant vide la combobox ne peut pas être remplie.

J'ai réouvert le 2 classeurs test envoyés;
ils ont bien les cellules B23 à B38 de la feuille "GENERALITE" vides,la feuille "GENERALITE"
c'est comme cela que j'ai construit le fichier :
le but est de remplir par le userform après traitement par vba la feuille "GENERALITE"...
par contre, les cellules B23 à B38 de la feuille "GENERALITE_base" sont plus ou moins remplies (selon le nombre de réponses type préremplies !) dans les cellules B23 à B38 de la feuille "Base_GENERALITE"
car je me suis effectivement trompé en écrivant "GENERALITE_base"
mais l'idée y était :
la feuille "Base_GENERALITE" n'est en fait que le clone de la feuille "GENERALITE" .
en ayant un clone, cela me facilite les références pour écrire les autres lignes de programme ...

Essart
 

Statistiques des forums

Discussions
312 493
Messages
2 088 952
Membres
103 989
dernier inscrit
jralonso