Sélection données depuis combobox

RONIBO

XLDnaute Impliqué
Bonsoir le forum,

Je reviens vers vous pour m'aider à finaliser mon projet.

J'aimerais compléter mon USF (Mail).

Une fois que je sélectionne mon client, je dois sélectionner une ou des adresse(s) mail(s) du client pour envoyer le mail par la suite.

Je m'aide des données brut situées dans la feuille "Répertoire"

J'aimerais reprendre les données de la feuille "Répertoire" et les lister dans les combobox.

Par contre j'aimerais que les données des combobox comportent seulement le nom (en majuscule) et le prénom (Première lettre en majuscule) des clients, comme dans mon fichier exemple.

Par exemple :
Si je sélectionne le CLIENT1, puis le salarié DUBOIS Alexandre le combobox doit être rempli "DUBOIS Alexandre" et je sais que l'adresse mail de Mr DUBOIS est "a.dubois@client.fr"

C'est un peu le même principe que Hotmail.com ou autre, dans destinataire y'a que le nom et le prénom

J'espère que je me suis fais comprendre :)

Je remercie par avance les personnes qui passeront par là :)

Bon réveillon à tous

PS : Le fichier à extraire dans c: svp
 

Pièces jointes

  • Ronibo.zip
    469.7 KB · Affichages: 45
  • Ronibo.zip
    469.7 KB · Affichages: 49
  • Ronibo.zip
    469.7 KB · Affichages: 41

Staple1600

XLDnaute Barbatruc
Re : Sélection données depuis combobox

Re

Si c'est la pas même chose, alors c'est pas la même chose ;)

Mais les deux titres de tes discussions étaient très similaires, alors j'ai cru...

Je m'a trompé ? :eek::p:rolleyes:

(ou alors je serai déjà dans les excès de table, réveillon oblige, hips ! )
 

RONIBO

XLDnaute Impliqué
Re : Sélection données depuis combobox

Re,

Désolé Staple1600 :), j'ai pas voulu te tromper :) :)

Bon réveillon, profite de ce moment :) et pas trop d'alcool hihi

Moi je dois pas me coucher trop tard car demain je dois me lever à 6 heures pour aller bosser :( :(
 

Dranreb

XLDnaute Barbatruc
Re : Sélection données depuis combobox

Bonsoir.
J'aimerais pouvoir dire que vous pourriez tirer avantage de mon module de classe ComboBoxLiés parce que ça me semble presque être le cas. Mais il faudrait seulement deux ComboBox un pour un nom, l'autre pour un prénom correspondant pour trouver une seule adresse mail et les empiler dans une ListBox supplémentaire, ce qui parait s'écarter sensiblement de ce que vous voulez faire. Je répond tout de suite à 2 autres objections : 1 - Pour le choix ce serait tout aussi facile: s'il n'existe qu'un prénom il est affiché dans l'autre ComboBox dès le choix ou la frappe d'un nombre suffisant de caractère d'un nom existant. 2 - Mon module de classe ComboBoxLiés est équipé d'une méthode Filtrer permettant de limiter les choix proposés, selon une valeur d'une colonne autre que celles spécifiée pour les ComboBox. Je pense au client là.
Enfin si ça vous intéresse…
Bonne année 2014
 

RONIBO

XLDnaute Impliqué
Re : Sélection données depuis combobox

Bonsoir,

J'étais pas trop partant pour une autre idée, mais je dois tester ta méthode, elle peut être intéressante ! A voir...

Tu as un fichier exemple sous la main?

Merci pour tes voeux, je te souhaite également une bonne année 2014 :)

A+
 

RONIBO

XLDnaute Impliqué
Re : Sélection données depuis combobox

Re,

Malheureusement c'est pas tout à fais ça :(

Je te félicite pour le bon boulot que tu as fait :)

Je crois que je vais attendre sagement d'autres propositions

Je me permet de prendre un petit truck sympa que j'ai vu sur le fichier :)

A+
 

Dranreb

XLDnaute Barbatruc
Re : Sélection données depuis combobox

Mon conseil: Prenez au moins le module de classe TableIndex et le module MDictionnArbo, et cochez "Microsoft Scripting Runtime" dans la liste Références disponibles, menus Outils, Références… Il n'est pas douteux que des dictionnaires arborescents puissent vous faciliter la vie en simplifiant ce que vous avez déjà écrit et ce qu'il reste à faire. Le module Utilit contient aussi des choses qui peuvent servir.
Deux tuyaux essentiels: 1 - La fonction Dictionnarbo admet comme paramètres non seulement des Range mais aussi des tableaux d'une colonne c'est à dire dimensionnés (1 to LMax, 1 to 1) ou résultant d'un Worksheetfunction.Index(Tableau2D, , Colonne)
2 - La propriété Keys d'un Dictionary peut directement être affectée au List d'un ComboBox.
Je vais peut être faire un essai sur votre feuille Répertoire, si toutefois vous tenez toujours à grouper le prénom avec le nom, sinon ce serait plus facile :
VB:
Dim DicAdr As Dictionary, Plage As Range
Set Plage = PlgUti(Feuil2.[A4])
Set DicAdr = DictionnArbo(Plage.Columns(1), Plage.Columns(2), Plage.Columns(3))
Et plus loin:
VB:
Dim DicAdrCli As Dictionary
Set DicAdrCli = DicAdr(Client) 
…
Me("ComboBoxMail" & N).List = DicAdrCli.Keys
On se rapproche de votre souci, là, non ?

P.S. Je confirme que j'ai réussi, après avoir déclaré en tête du Userform:
VB:
Option Explicit
Dim DRép As Dictionary, DCli As Dictionary
… à faire fonctionner ça à la fin de votre Userform_Initialize :
VB:
Dim T(), L As Long
T = ColUti(Feuil2.[A4:C4]).Value
For L = 1 To UBound(T): T(L, 2) = T(L, 2) & " " & T(L, 3): Next L
Set DRép = DictionnArbo(WorksheetFunction.Index(T, 0, 1), WorksheetFunction.Index(T, 0, 2))
Et ça:
VB:
Private Sub ComboBoxListeClient_Change()
'Call TriListeClient
Dim N As Long
If Not DRép.Exists(ComboBoxListeClient.Text) Then Exit Sub
Set DCli = DRép(ComboBoxListeClient.Text)
For N = 1 To 6: Me("ComboBoxMail" & N).List = DCli.Keys: Next N
End Sub
Ne vous tracassez pas pour la récupération par la suite des e-mail correspondant suivant les choix, c'est rien, on les mettra dans une table. N'envisagez surtout pas d'aller les re-re-re-chercher dans Répertoire, on s'arrangera pour les avoir sous la main, dans cette table, à une position qui sera directement retrouvée dans le DCli
 
Dernière édition:

RONIBO

XLDnaute Impliqué
Re : Sélection données depuis combobox

Bonjour le forum,

Je vous souhaite à toutes et à tous une excellente année, je vous souhaite le meilleur sur tout les tableaux, aussi bien personnels que professionnels, que vos souhait deviennent afin une réalité

Une belle année à vous :)

Granreb : je regarde tout ça dès que je rentre du travail ;)

A+
 
Dernière édition:

RONIBO

XLDnaute Impliqué
Re : Sélection données depuis combobox

Re,

Je regardé tous ce que tu m'as proposé, j'ai pas trop compris le fonctionnement de tous les codes qui à sur les modules et l'usf. Pour te dire que je savais même pas qu'il existé des modules de classe lool, et là je me retrouve avec une erreur de compilation, comme je m'y attendais.

A t-on vraiment besoin de tous ces codes pour arriver au résultat souhaité ?

Qu'est tu en pense ?

Amicalement.

PS : les deux premiers code (variables) je sais pas ou les mettre :(
 

Pièces jointes

  • SOS Métal.xlsm
    150.4 KB · Affichages: 54
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Sélection données depuis combobox

Sub ou fonction non définie sur ColUti. C'est une fonction du module Utilit.
Ah, on a naturellement besoin de code pour faire ce que vous voulez !
A vous de voir si vous préférez dans votre applicatif un code assez simple qui met en œuvre des outils existants dans des modules de services relativement importants mais qui ne sont pas à retoucher, ou si vous y préférez un code assez compliqué, merdique, et seulement fait pour votre cas de figure et peut être à revoir à chaque évolution.
Les deux premières lignes étaient à mettre tout au début avant toute autre instruction. C'est là qu'on déclare des variables globales, conservées et utilisées par toutes les procédures.
 

RONIBO

XLDnaute Impliqué
Re : Sélection données depuis combobox

Bonsoir,

Il est vrai que j'aimerais avoir un truck beaucoup plus simple, car je débute en vba et j'aimerais savoir à quoi correspond chaque lignes et faire des petites modifications :)

Puis si je prends ton idée, j'ai peur que dans l'avenir je suis embêté et obligé de le refaire.

Comme tu vois mon USF est loin d'être terminé,

Je précise quand même les étapes à venir de mon USF.

1 - Utiliser un combobox pour séléctionner un client grâce au données brut de la feuille "Répertoire"

2 - Afficher seulement les nom et prénom des salariés concernant chaque société dans les combobox (sur les six combobox)

3 - Sur les six combobox faire apparaitre seulement le nom et prénom (le projet qu'on est entrain de bosser dessus)

4 - Sélectionner les fichiers (factures) depuis une listbox.

5 - Envoyer un mail type (phrase paramètré) aux destinataires avec les pièces jointes

Et oui comme tu vois j'ai encore beaucoup de chose à faire, mais une fois terminé, cela va me permettre de gagner énormément de temps et peu servir à pas mal de personne

En tout cas merci beaucoup de te pencher à mon problème, c'est vraiment gentil de ta part

A+
 

Discussions similaires

Réponses
1
Affichages
170
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 632
Messages
2 090 337
Membres
104 507
dernier inscrit
mag7748