Automatisation de remplissage combobx

ya_v_ka

XLDnaute Impliqué
Hello le forum

Un problème assez simple que je n'arrive pas à résoudre.

Dans le fichier (assez compliqué) joint il y a une combobox "Client".
Chaque mois je dois tirer les rapports d'une 50aine de clients, toujours les mêmes, et parfois même de tous.
D'où ma question :

Est-il possible de forcer le remplissage (soit par boucle, soit par liste sur feuille séparée, soit ...) de la combo client ?
En tenant compte qu'elle contient 2 colonnes, 1. le no de la clef, 2. le nom du client.

Bien evidemment, la BDD ODBC n'est pas jointe, donc le test ne m'est possible qu'au boulot...

Merci d'avance pour toute piste exploitable... ou non :)

Y'av
 

Pièces jointes

  • Ventilation Repas.zip
    238.1 KB · Affichages: 41

tototiti2008

XLDnaute Barbatruc
Re : Automatisation de remplissage combobx

Bonjour ami Suisse ;),

Malheureusement, en ouvrant ton fichier j'ai des messages d'erreur immédiatement, visiblement un contrôle ActiveX qui ne veut pas se charger
J'ai essayé de voir dans les références, mais il me demande un mot de passe pour les références (d'ailleurs je ne sais pas comment mettre un mot de passe sur les références) alors que le code est visible
Je n'ai pas vu de Combobox Client, où est-elle (à moins que ce soit elle qui ait sauté à l'ouverture...)
Bref, sur Excel 2003, pas réussi à ouvrir ton fichier...de façon exploitable
 

ya_v_ka

XLDnaute Impliqué
Re : Automatisation de remplissage combobx

Hello

Pourtant un xls créé sur 2003.

Quant à la combo client... Mea culpa... c'est la Combo "Clefs" en fait.

Le message d'erreur vient du fait que la BDD vient d'un programme de gestion de ces clefs et n'est pas en excel. Et je ne peux l'importer avec... d'ou l'annonce du lien manquant, de l'erreur.

Merci quand même :)

Ya'v
 

tototiti2008

XLDnaute Barbatruc
Re : Automatisation de remplissage combobx

Bonjour ya_v_ka,

Pas sûr d'avoir compris ton problème, dis-nous si ça te donne une piste
 

Pièces jointes

  • Classeur1.xls
    26.5 KB · Affichages: 63
  • Classeur1.xls
    26.5 KB · Affichages: 66
  • Classeur1.xls
    26.5 KB · Affichages: 65

ya_v_ka

XLDnaute Impliqué
Re : Automatisation de remplissage combobx

Hello

Sympa de chercher... déjà MERCI.

Dans l'utilisation normale du fichier, la combobox se charge effectivement d'une liste dans le style de celle que tu as créé là. (voir les no et noms dans le rapport en-dessous des box).
Cette liste contient 450 clefs et noms à l'heure actuelle et sera appelée à augmenter.

Chaque mois je dois tirer plusieurs rapport... par exemple pour ton fichier : 3C, 4D, 10J, etc.
Mon seul moyen est :
1. Ouvrir la combo
2. Entrer le no de clef listé à part ou le choisir dans la liste déroulante
3. Créer le rapport
4. L'imprimer
Et recommencer au no 1... 30 ou 40 fois !

L'idée serait d'arriver à lister une fois les codes/noms sur une feuille (par exemple) et d'arriver ensuite à automatiser le reste avec une boucle. Mais je n'arrive pas à forcer le remplissage de la combo sur les nos/clients désirés.

Ai-je été plus clair ???

Merci encore
 

tototiti2008

XLDnaute Barbatruc
Re : Automatisation de remplissage combobx

Bonjour ya_v_ka,

regarde le fichier, en cliquant sur le bouton, la combobox prend au fur et à mesure les valeurs de la colonne L
 

Pièces jointes

  • Classeur1-2.xls
    32.5 KB · Affichages: 70
  • Classeur1-2.xls
    32.5 KB · Affichages: 74
  • Classeur1-2.xls
    32.5 KB · Affichages: 72

ya_v_ka

XLDnaute Impliqué
Re : Automatisation de remplissage combobx

Hello

C'est exactement ça qui est recherché... et c'est exactement ce que j'avais essayé jusque là, mais :

Si je reporte la valeur de la combo sur une cellule ou une msgbox, le résultat est celui espéré, par contre le chiffre affiché dans la combo ne change pas. Pourquoi ? Comment forcer la mise à jour de la combo à chaque étape ?

Ya'v
 

ya_v_ka

XLDnaute Impliqué
Re : Automatisation de remplissage combobx

R'Hello

Je reviens sur ce que j'ai constaté.

Si je clique sur le bouton en ayant le curseur actif dans la combo, elle se modifie aussi.

Par contre si le focus est sur une cellule, la combo ne se modifie pas, d'où le problème je pense...

Les joies de l'informatique pfffff ;-)

Ya'v
 

Si...

XLDnaute Barbatruc
Re : Automatisation de remplissage combobx

salut tous

...
Si je reporte la valeur de la combo sur une cellule ou une msgbox, le résultat est celui espéré, par contre le chiffre affiché dans la combo ne change pas. Pourquoi ? Comment forcer la mise à jour de la combo à chaque étape ?

Ya'v

Si... tu veux repartir à zéro, peut-être avec l'évènement MouseMove comme suit
Code:
Private Sub ComboBox1_Change()
  If ComboBox1 = "" Then Exit Sub
  If MsgBox("voulez-vous créer le rapport " & ComboBox1 & " ?", vbYesNo, "Pour continuer,") = vbYes Then
    MsgBox "il faut le préparer !", vbInformation, "Mais..."
  End If
  ComboBox1.ListIndex = -1
End Sub
Private Sub ComboBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  ComboBox1.Clear
  With Sheets("Feuil1")
    ComboBox1.List = .Range("I2:J" & .Range("I65536").End(xlUp).Row).Value
  End With
End Sub
 

ya_v_ka

XLDnaute Impliqué
Re : Automatisation de remplissage combobx

Bonsoir Si...

Je n'ai pas bien compris la différence... mais je suis un débutant, c'est normal.

Je teste et essaye la mise en oeuvre dés demain au boulot... et reviens donner des nouvelles.

Merci à tous

Ya'v
 

tototiti2008

XLDnaute Barbatruc
Re : Automatisation de remplissage combobx

Bonjour ya_v_ka, Bonjour Si...

Toujours sur la base de mon fichier :
Dans la boucle, si j'ajoute un

Code:
        ComboBox1.Activate

Je vois les changements

j'ai rajouté une pause pour avoir le temps de les voir, genre

Code:
Private Sub CommandButton1_Click()
Dim i As Long
    For i = 2 To Range("L65536").End(xlUp).Row
        ComboBox1.Value = Range("L" & i).Value
        ComboBox1.Activate
        Application.Wait Now + TimeValue("00:00:02")
    Next i
End Sub
 

ya_v_ka

XLDnaute Impliqué
Re : Automatisation de remplissage combobx

Hello tous

Arrrrghhhhhhhhh j'ai enfin déterminé ce qui bloque.

Dans le fichier de base la combo comporte 2 colonnes. J'ai toujours cru que la 1ère était le no et la seconde le nom. En fait la première, non visible, contient un code et la seconde le no et le nom.
Comme la recherche est basée sur le code, tous mes essais étaient voués à l'échec.

Je suis donc désolé de vous avoir mis à contribution pour rien, mais le fait de m'acharner à comprendre et mettre en oeuvre vos propositions m'a amené à copier la table sur une feuille... et à déceler les codes.

Donc un énorme MERCI aux deux contributeurs.

Je m'arme désormais de courage afin de gérer ce truc...

Ya'v
 

ya_v_ka

XLDnaute Impliqué
Re : Automatisation de remplissage combobx

Re salut tous,

J'ai réussi (enfin) à faire ce que je souhaitais.

A préciser que la solution de l'automatisation vient en effet de la 1ère colonne masquée avec ces codes non référencés.
Mais pour pouvoir imprimer chaque rapport avec l'en-tête adéquat, le "ComboBox1.Activate" est LA solution qui me manquait.
Donc en résumé : - Les essais sur vos codes m'ont permis de règler le 1er problème et vous m'avez donné la 2e clef...

Donc 1000x MERCI.

Ya'v
 

Statistiques des forums

Discussions
312 330
Messages
2 087 340
Membres
103 524
dernier inscrit
Smile1813