XL 2010 ComboBox.ListIndex en panne

jeanba

XLDnaute Occasionnel
Bonjour le fil,

Mon formulaire est sensé:
- se remplir avec des données se trouvant sur un journal courant
- porter les modif souhaitées par l'user
- enregistrer TOUTES les modif apportées
- enregistrer le classeur ouvert

Je crois que mon code est bon, mais , je ne comprends pas pourquoi TOUTES les instructions ne s'exécutent pas. un oeil neuf s'il vous plaît?

Merci par avance
Jeanba
 

Pièces jointes

  • ComboBox_Change Jeanba.xlsm
    40.1 KB · Affichages: 31

Bebere

XLDnaute Barbatruc
tci est expliqué post2,initialisé et ensuite rempli
tci(0)=2,tci(1)=3,etc
fait quelques corrections(code combobox2)
il suffisait de mettre les codes aux bons endroits et supprimer les lignes inutiles
 

Pièces jointes

  • ComboBox_Change JeanbaV1.xlsm
    48.2 KB · Affichages: 36

jeanba

XLDnaute Occasionnel
Bonsoir grisan29,

Je ne comprends pas ce que tu trouves de bizarre à cela.
J'ai pris soin de lire les chartes de tous les forums sur Excel, et je ne me souviens pas avoir vu une seule disposition interdisant de soumettre ses soucis à plusieurs forums;
Il me semble plutôt que cela ne peut qu'être bénéfique pour toute la communauté XLNaute.

D'ailleurs, le fait que tu en parles suppose que toi même tu en visites d'autres et qu'il ne s'agit pas d'un groupe fermé auquel il faut vouer allégeance...non?
 

jeanba

XLDnaute Occasionnel
Bebere,

Merci de tes conseils.
(j'ai cru un instant que la version du fichier que tu as postée en dernier contenait ses corrections. Mais, je vais m'y atteler et tenir le fil au courant..)

Merci beaucoup

ChTi160,

Cette partie du code est OK. Tu peux voir dans le fichier joint en dernier...
Merci tout de même!
 

jeanba

XLDnaute Occasionnel
Bonjour à tous,

Bebere, je veux pas te contrdire, mais le dernier fichier que tu as joint post6 ne fait pas de SetFocus alors que le ComboBox2 = 2 - 8. Il fait ce contrôle uniquement pour la valeur 42...à moins que tu n'aies pas envoyé le bon?
 

jeanba

XLDnaute Occasionnel
Et puis, y a quelque chose de très intriguant à ton code Bebere (voir commentaires encadrés dans le code ci-dessous):

VB:
Dim TCI(6) As String 
'-------------------------------------------------------------------------------------------------------
'2 To 8 ----/ Si j'ai bien compris, c'est le principe d'intervalle de 2 à 8.     
' Or, de 2 inclus à 8 inclus je compte 7 et non 6.. Tu peux m'aider à comprendre?
' ------------------------------------------------------------------------------------------------------
 

Bebere

XLDnaute Barbatruc
dimension tableau 7
index de 0 à 6,2 à 8,l'aide explique cela
bon point détecté anomalie
la remarque de Grisan est tout à fait pertinante
L'aide d'un forum est bien suffisante.Ce sont des bénévoles qui t'aident
et beaucoup ne t'aideront pas si ils voyent la même demande autre part
 

jeanba

XLDnaute Occasionnel
Merci bebere.
Pour le "bon point anomalie", as-tu une solution? (j'ai beau revisité mon code, mais ça détecte toujours l'anomalie si ComboBox2 = 02 à 08 mais que le CboBox3 = "".

Pour grisan,
J'en prends acte. Je ne le disais pas pour être méchant, loin de là.
Mais, il arrive que face à une urgence, la réponse tarde à venir d'un forum. Alors, j'ai souvent été porté par le feu de cette urgence pour soumettre le problème également sur d'autres forums.
Et lorsque la réponse arrive, je la partage de part et d'autre pour toute la communauté.
Maintenant, avec vos remarques, il faut croire que c'est mal... Ok, j'en prends bonne note..
 

jeanba

XLDnaute Occasionnel
Ah, je comprends pourquoi tu dis cela.
Ce que je veux, ce n'est pas la fonction Enable ou pas, je veux qu'il interdise l'enregistrement tant que le ComboBox2 = 2 à 8 ET ComboBox3 = ""

Ce comtrôle se fait très bien lorsque la valeur de CodeEntrée (combobox2) = "42".
Et ej ne comprends pas pourquoi il s'arrête pas en affichant le message d'erreur "Vous devez renseigner le code client"

Voici le bout de code qui pose problème:

VB:
For i = LBound(TCI) To UBound(TCI) '2 To 8
If Me.ComboBox2.Value = TCI(i) Then TEST = True: Exit For
    If TEST And Me.ComboBox3.Value = "" Then 'Me.ComboBox2.Value = TCI(i)
        MsgBox "Vous devez renseigner le Compte tiers Client!"  
        Me.ComboBox1.SetFocus
        Exit Sub
    End If
Next i
 

Discussions similaires

Statistiques des forums

Discussions
312 270
Messages
2 086 679
Membres
103 370
dernier inscrit
pasval