Listbox et combobox ?????

Bonjour,

Je me permets de vous solliciter car en dépit de mes recherches frénétiques sur google, je n’ ai trouvé aucun tuto qui me mette sur une bonne piste.

Je précise que le mot débutante est loin de refléter mon désert de connaissances dans le domaine !!!

Dans un premier temps, l’ idée serait de partir d’ un tabeau excel:

Colonne A = Noms

Colonne B= Prénoms

Colonne C= Age

Colonne D=Profession

Puis sur depuis une userform une combobox permettrait de choisir le Nom et sur des textbox dédiées apparaîtraient les infos suivantes

textbox1 = prénom

textbox2 = age

textbox3 = Profession

Dans un 2e temps je souhaiterais ajouter à la userform une photo de la personne en question mais comment faire le lien avec l’ image en fonction de la personne choisie ?

J’ ai pris l’ exemple de personnes, prenom, age, etc uniquement dans le but de comprendre le fonctionnement des ces satanées combobox et listbox ! ( il n’ est pas question de me refaire mon carnet de bal ! ) L’ utilisation finale sera bien entendu totalement différente.

Merci à tous.

Nat

Salut,

Je ne sais pas trop comment te répondre.

Si tu veux des exemples d'utilisation vas dans les cours VBA (très bien fait).

Sinon, pour ton exemple, que se passe-t-il si tu as des homonymes (même nom mais pas même prénom) ?

Tu veux que l'image soit dans ton fichier Excel ou juste avoir un lien (c:\images\maphoto.jpg) ? (attention a la volumétrie....)

Si tu veux mon avis, pour ce genre de chose, ACCESS est meilleur qu'Excel, au point de vue de la gestion de la volumétrie...

Si tu as des questions précises sur l'utilisation des Forms dans Excel, envoi un fichier d'exemple en attaché.

Exemple de forms (tres simple au niveau VBA : On peut optimiser.....)

++

Big

136testnom.zip (7.77 Ko)

Merci c' est vraiment ce que je cherchais, c' est déjà tout fait mais ... je voudrais bien comprendre; Y aurait il moyen d' insérer des commentaires afin de m' aider ?

Je sais ! Je suis chiante mais c' est pour éviter de vous solliciter la prochaine fois !!!

En tout cas c' est très sympa de m' avoir mis sur la piste. J' avoue que je me suis imprimée des piles de tutos mais ... rien à faire, ça ne passe pas !

Nat


Pour les homonymes ... et bien ... on verra plus tard !

En ce qui concerne les photos, pour garder le fichier léger, je pensais faire un lien vers une photo et pour finir, je suis obligée d' utiliser Excel pour des questions de facilité de diffusion ( PC d' entreprises aux soft allégés )

Nat

Salut,

Voici le code version commentée.

Si tu as des questions n'hésite pas, si on prend le temps de répondre c'est que cela ne nous dérange pas

Tu as du code dans la Form et aussi sur l'onglet Feuil1 (pour le lancement auto de la form)

damien

122testnom.zip (8.90 Ko)

Super je regarde tout de suite !!! Merci !

re,

Attention : Ce code est simple il ne gère pas les homonyme et de plus il ne faut pas avoir des lignes vides entre les enregistrements.

Pour le vide prend le dernier exemple :

Dans cet exemple on calcul d'abord la dernière ligne enregistrée et on parcours ensuite la colonne A de la ligne 2 jusqu'a cette dernière ligne.

Alors que dans la version 1, on parcours la colonne A de la ligne 2 jusqu'a ce que l'on rencontre une cellule vide.

Pour les homonyme, il faut avoir une combobox pour 'prenom' et la peupler en consequence si il y a des homonymes....

Un peu plus compliqué... Mais possible.

damien

63testnom.zip (11.74 Ko)

Re !

Et bien ... il ne me reste plus qu' à prier pour ne pas avoir d' homonymes dans mes fiches !

J' ai plein d' autres questions mais je vais me limiter !

J’ ai bien intégré l’ exemple que tu m’ as fourni et je l’ ai modifié à ma convenance. Par contre, je bute sur un problème de syntaxe à présent.

Par exemple dans la colonne profession( ou colonnes suivantes ), je souhaiterais mettre un hyperlien en face de chaque nom et avec ma userform, je cliquerais sur un bouton qui appellerait cet hyperlien.

J’ ai utilisé la commande suivante sur ce bouton :

Private Sub CommandButton2_Click()

ActiveWorkbook.FollowHyperlink Address:="Sheets("Feuil1").Cells(i, 6)", _

NewWindow:=True

End Sub

Mais ça ne passe pas. Affecter un lien internet a un bouton ça c' est bon , mais que ce lien change en fonction de la ligne choisie ... c' est une autre histoire !

J’ ai un autre souci, mais je pense qu’ en ayant résolu celui que je t’ ai soumis ci-dessus, j’ espère que je m’ en sortirai.

Il s’ agit d’ afficher sur la userform une photo de l’ individu sélectionné. Cette photo étant stockée sur un serveur interne entreprise, je pensais y faire référence par un hyperlien sur la feuil1 ( par exemple la colonne suivant la profession )

En tout cas, un grand merci pour t' être penché sur mon problème !!!

Nat

Exemple simple pour afficher une image dans une forms et naviguer sur internet avec un lien définie lors de la selection.

Damien

65testurl.zip (13.78 Ko)

Ouh la ! Le boss ne m' a pas lâché ...

Je regarde le fcihier que tu m' as envoyé !

Et merci encore pour ton aide !

Nat

Quelle galère !

Je ne m' en sors pas ... J' ai le message " l' indice n' appartient pas à la sélection ... "

Je joins le fichier ( l' embryon de fichier devrais-je dire ! ) au cas ou une bonne âme veuille s' y pencher !

Merci encore de votre bonne volonté !

Nat

90testnom-2.zip (22.14 Ko)

Alors ::

Private Sub CommandButton1_Click()
If UserForm1.ComboBox_NOM = "" Then Exit Sub    ' pas de selection => quit
Dim myurl As String                             ' myurl=>chaine de caractères
Dim cellule As Range                            ' cellule => range
Set cellule = ActiveSheet.Range("a1", "a6").Find(UserForm1.ComboBox_NOM.Value) ' cellule = adresse contenant choix combobox
myurl = cellule.Offset(0, 4).Value              ' myurl = adresse selectionnée
cellule.Offset(0, 4).Hyperlinks(myurl).Follow NewWindow:=False, AddHistory:=True ' go to url sur navigateur web
End Sub

Le probleme vient de la ligne :

myurl = cellule.Offset(0, 4).Value ' myurl = adresse selectionnée

cellule : a les coordonnées colonne 1

offset permet de decaler depuis cette coordonnées.

exemple :

Range("A1").Offset(0, 2) = 3 : correspond a l'adresse C1

Range("A1").Offset(1, 2) = 3 : correspond a l'adresse C2

Donc il suffit de modifier le parametre offset pour que cela fonctionne :

Private Sub CommandButton1_Click()
If UserForm1.ComboBox_NOM = "" Then Exit Sub    ' pas de selection => quit
Dim myurl As String                             ' myurl=>chaine de caractères
Dim cellule As Range                            ' cellule => range
Set cellule = ActiveSheet.Range("a1", "a6").Find(UserForm1.ComboBox_NOM.Value) ' cellule = adresse contenant choix combobox
myurl = cellule.Offset(0, 4).Value              ' myurl = adresse selectionnée  ++++1
cellule.Offset(0, 4).Hyperlinks(myurl).Follow NewWindow:=False, AddHistory:=True ' go to url sur navigateur web

End Sub
Private Sub CommandButton2_Click()
If UserForm1.ComboBox_NOM = "" Then Exit Sub    ' pas de selection => quit
Dim myurl As String                             ' myurl=>chaine de caractères
Dim cellule As Range                            ' cellule => range
Set cellule = ActiveSheet.Range("a1", "a6").Find(UserForm1.ComboBox_NOM.Value) ' cellule = adresse contenant choix combobox
myurl = cellule.Offset(0, 5).Value              ' myurl = adresse selectionnée    ++++1
cellule.Offset(0, 4).Hyperlinks(myurl).Follow NewWindow:=False, AddHistory:=True ' go to url sur navigateur web

End Sub

L'explication est clair ?

et ainsi de suite : on rajoute + 1 a l'offset a chaque fois pour avoir le lien 1 puis 2 etc.....

damien

Je crois que je vais être bonne pour le pavillon des dingos !

J' ai appliqué tes recommandations ( très claires et qui me font toujours avancer ) ; Ca marche pour la ligne 2 ( durand ) mais au 3e lien ca bug !

La ligne 1 ( Aubert ) ne veut rien savoir !

Quand à la présentation de la photo dès la sélection du nom, je n' ose même plus en rêver !

Je te remercie pour ta patience et ta bonne volonté mais je crois que je vais jeter l' éponge !

Je vais finir par me résoudre à rester au fiches papiers !

Boooouuuuuh

Natacha ( au bord de la dépression ! )

23testnom-2.zip (21.70 Ko)

Bonjour,

Version avec liens qui fonctionnent (erreur dans les valeurs offset)

+

Message si pas de lien

+

Affichage photo : Comme c'est un lien internet, ce n'est pas supporté nativement par picturebox de la forms

Il faut donc :

  • determiner l'extension de l'image = JPG, GIF, etc....
  • determiner le repertoire temp
  • sauvegarder l'image
  • L'afficher

Courage.....

Damien

62testnom-2.zip (27.38 Ko)

Allez, tu m' as redonné un peu de courage !

Je m' y attaque en cette semaine toute neuve ... j' espère que je suis proche de la fin !!!

en tout cas un grand merci à toi ... tu ne m' a pas lâchée !!!

Nat

Rechercher des sujets similaires à "listbox combobox"