Est-il possible de faire une validation de donnée avec un Userform

Chrige

XLDnaute Occasionnel
Bonjour

Je dispose d’un tableau Excel, dans lequel sont insérés des codes articles
Pour rentrer ces codes, j’avais pensé à la validation de données
Mais on dispose alors d’une liste comportant une seule colonne
Alors qu’il faudrait 2 colonnes, car on a besoin de savoir bien évidement à quoi le code correspond
De plus le nombre de ligne visible sans passer par l’agenceur semble limité à 8
Ce qui est insuffisant pour une saisie rapide (Je dispose déjà de plus de 30 codes).

Je connais peu la technique des UserForm
Serait-il possible de faire ce genre de chose pour mon besoin ?
J’ai réalisé un exemple avec plus d’explications
Merci
A Plus
 

Pièces jointes

  • Insersion Codes.xlsm
    23.9 KB · Affichages: 82

Chrige

XLDnaute Occasionnel
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonjour Staple


As-tu au moins essayer d'ajouter des labels avant d'estimer cela?
Oui bien sûr, j'ai fait l'essai avec 3 labels supplémentaires
Mais c'est quasiment impossible de les placer juste en face des codes
La hauteur ne correspond jamais tout à fait à la hauteur des codes de la Listview

De plus les codes sont dynamiques avec le feuille de code, pas les labels.

Pour ma part, je ne vois pas pourquoi la solution avec listview + 1 label affichant la couleur du code ne te convient pas.
Car quand celle-ci s'affiche, l'utilisateur doit lire les codes affichés avant de choisir celui qui appliqué sur la feuille.
Et quand il en sélectionne un, il verra dans le label la couleur relative au code sélectionné.
Dans ce cas, quelle est l'utilité de voir toutes les couleurs?

Je me réexplique, comme cela tu comprendras certainement mieux

Le version avec la Listbox me convient parfaitement
Mais ensuite j'ai pensé à la couleur
Non par souci de présentation, de clarté, ou de risque d'erreur de saisi
Mais pour la rapidité de la sélection

J'ai une trentaine de codes actuellement, mais cela va augmenter
Par contre, j'ai moins d'une dizaine de catégories de code et cela n'augmentera pas beaucoup
Donc si j'ai un Listview avec 50 voir 100 codes
Si je les visualise avec la dizaine de couleurs des catégories auxquelles ils appartiennent
Cela me permet d'aller beaucoup plus rapidement aux codes recherchés

Vois-tu mieux :rolleyes:
 

Staple1600

XLDnaute Barbatruc
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonjour à tous

Chrige
Est-il possible de récupérer à l'intérieur de ce ListBox les couleurs définies dans ma feuille Code
Dans ta pièce jointe , il n'y avait qu'une seule couleur dans le feuille Code... (le bleu)
Mais il y a une hic
le but c'était d’avoir sous les yeux l'ensemble des codes avec leurs couleurs respectives
Quelles couleurs?
Si je les visualise avec la dizaine de couleurs des catégories auxquelles ils appartiennent
De quelle dizaine s'agit-il ? (tu ne l'as jamais précisé)
Ni quelle couleur pour quelle catégorie...

Repostes une PJ actualisée, plus aboutie, plus détaillée, et on en recause ;)
 

Chrige

XLDnaute Occasionnel
Re : Est-il possible de faire une validation de donnée avec un Userform

Re,

Dans ta pièce jointe , il n'y avait qu'une seule couleur dans le feuille Code... (le bleu)

C'est juste, mais alors ce n'était pas l'objet de ma demande
Ma demande portait sur l'essentiel
Et comme tu as été en mesure de trouver une solution pour cette demande essentielle
J'ai pensé à la couleur, sans savoir que cela entrainait une solution toute différente et bien plus complexe.

Je rejoins mon tableau exemple d'origine avec les couleurs et les explications pour ces couleurs

A+
 

Pièces jointes

  • Insersion Codes B.xlsm
    24.5 KB · Affichages: 46

Chebe

XLDnaute Nouveau
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonsoir Staple

C'est une blague?
Je ne vois vraiment pas ou se situe la blague ??

Je t’avais demandé pourquoi tu ne m’avais pas envoyé directement ton fichier avec le VBA et les Contrôles activeX (Voir le #10)
Plutôt que de me les envoyer à part.

Tu ne m’as pas répondu et j’ai pensé que tu avais tes raisons ??

J’ai donc incorporé tout le code dans une copie de mon tableau d’origine et non dans mon fichier exemple.
Si cela peut t’aider à trouver une solution, je veux refaire toute la procédure dans le fichier exemple que je t’ai renvoyé à nouveau.
Mais je ne comprends pas bien, les codes tu les as, puisque c’est les tiens ???

A+
 

kira972j

XLDnaute Nouveau
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonsoir pk ne pas utiliser la fonction decaler sans passer par l userform , tu ne seras pas limité exple
=decaler(A1;1;0;nbavl(selection de la colonne A1)-1;1))
 

Staple1600

XLDnaute Barbatruc
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonjour à tous


Chebe
Je t’avais demandé pourquoi tu ne m’avais pas envoyé directement ton fichier
C'est Chrige qui m'a posté cette question et je lui ai répondu ici
https://www.excel-downloads.com/thr...validation-de-donnee-avec-un-userform.220021/
Donc relis ce message et tu comprendras

D'ailleurs dois-je comprendre Chrige=Chebe ?

Je trouverai normal de voir dans la nouvelle pièce jointe les codes VBA que j'ai soumis dans le fil, l'userform créé par Chrige avec la listeview (puisque 'au message #13 il dit avoir réussi à tester mon code avec une listview)
(Et plus tard, il a fait des tests avec des Labels)

Ensuite j'aurai trouvé intéressant de trouver les essai/modifications de Chrige dans cette nouvelle PJ, qui me montrerai donc le degré d'implication de Chrige dans la résolution de sa question.

Or rien de tout cela, et c'est donc là que ce situe la blague.

J'estime normal que le demandeur mette les mains dans le cambouis, s'investisse dans la résolution de sa question sans attendre qu'on lui poste un fichier Excel.
Je préfère poster des codes/formules/explications qui permettent au demandeur de faire les choses par lui-même.
C'est à mon sens plus enrichissant et plus efficace pour comprendre le VBA ou d'autres facettes d'Excel.
C'est juste mon point de vue , libre à Chrige/Chebe de pas le partager ou pas. ;)
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Est-il possible de faire une validation de donnée avec un Userform

salut

Le contrôle ListView peut poser des problèmes d’implémentation aussi j’avais commencé avec un contrôle ListBox et des contrôles Label.

Voir si l’esquisse* jointe peut être d’une quelconque utilité. On peut bien sûr se limiter aux "premières lettres" intéressantes mais il faudra rajouter quelques lignes de code.

...
J'estime normal que le demandeur mette les mains dans le cambouis, s'investisse dans la résolution de sa question sans attendre qu'on lui poste un fichier Excel.
Oui mais en a-t-il toujours les moyens ?

Je préfère poster des codes/formules/explications qui permettent au demandeur de faire les choses par lui-même.
C'est à mon sens plus enrichissant et plus efficace pour comprendre le VBA ou d'autres facettes d'Excel.
oui mais pour celui qui est intéressé et est-ce toujours le cas ?

C'est juste mon point de vue , libre à Chrige/Chebe de pas le partager ou pas. ;)
Oui mais :cool: :D

* il y a encore beaucoup à faire !
 

Pièces jointes

  • Listes Dépendantes (UsF).xlsm
    28.2 KB · Affichages: 60

Staple1600

XLDnaute Barbatruc
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonjour Si...

Belle PJ, joli code.
(avec en prime anticipation sur éventuelles question futures)

[parenthèse]
Facile à appréhender si on s'en donne les moyens ;)
Il suffit de savoir lire, non ?
[/parenthèse]


PS: Pour les problèmes de listview, tu as raison.
mais les solutions aux problèmes se trouvent dans les archives du forum, et là encore il suffit de mettre les mains dans le cambouis ... du moteur de recherche du forum ;).
 
Dernière édition:

Chrige

XLDnaute Occasionnel
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonjour Staple

Oui c'était bien moi qui t'es répondu
J'ai des problèmes de micro, je n'étais donc pas sur mon micro
Et apparemment, j'ai oublié de me loger personnellement

Voila j'ai refait toute les manipulations avec les données que j'avais fournies dans le fichier exemple envoyé précédemment.

Cela te permettra de voir que j'avais bien suivit toute ta procédure

Pour aller plus loin, j'ai réalisé un montage photo de que souhaitais obtenir
Je pense que c'est peut-être plus parlant.

La photo 1 est ce que j'ai, la photo 2 ce que j'aurais souhaité obtenir


A+
 

Pièces jointes

  • Insersion Codes LietView.xlsm
    25.6 KB · Affichages: 25
  • User1.jpg
    User1.jpg
    60.8 KB · Affichages: 38
  • User3.jpg
    User3.jpg
    58.3 KB · Affichages: 38

Chrige

XLDnaute Occasionnel
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonjour Si

Je découvre ta solution
Et ce n'est pas mal du tout

Pour l'instant, je n'ai pas compris comment tu fais pour récupérer la couleur des catégories de codes dans les labels?

Cela plante par moment, mais c'est du sans doute au fait que ce n'est pour l'instant qu'une esquisse.

Je n'ai pas la couleur sur le code lui-même, mais la couleur s'y référent est juste à gauche.

A+
 

Staple1600

XLDnaute Barbatruc
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonjour à tous

Chrige
Merci pour ton feedback et ta nouvelle PJ.
Si tu veux pouvoir changer la propriété BackColor des items d'une Listview, il va falloir sortir l'artillerie lourde
(Utilisation des API)
Je pense qu'il serait plus sage de t'orienter vers la piste prise par Si.... (ListBox+Labels)
Plus facile d'utilisation.

Néanmoins ,si tu es partant pour le ListView, je peux te poster un exemple de code de Michel Pierron qui te montrera la difficulté de l'entreprise ;)
Alors partant ?
 

Si...

XLDnaute Barbatruc
Re : Est-il possible de faire une validation de donnée avec un Userform

Salut

Content de constater que le nième Commandement du Grand Manitou ait été respecté ;).

A quel moment mes procédures coincent-elles ?

Si le contrôle ListView est utilisable autant simplifier la programmation.
Je suis interpellé quand je vois que beaucoup n’utilisent pas la fenêtre des Propriétés comme ici entre autre.

Propriétés ListView.jpg

Ci-joint un exemple de liste multicolore (pas Back mais Fore).
 

Pièces jointes

  • ListView en couleur.xlsm
    27.8 KB · Affichages: 39
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Est-il possible de faire une validation de donnée avec un Userform

Bonjour à tous


Si...
A l'ouverture de ta dernière PJ, j'ai ce petit désagrément (Excel 2013)
01SiPict.gif
[pj] C'est peut-être parce que tu utilises un contrôle LietView ;) [/pj]

PS: Décidément la listview ne laisse pas dompter facilement ;)
NB: La concision de ton code fait plaisir à l’œil. ;)

Tu fais bien de t'interpeller, ça me permet de voir le chemin qu'il me reste à parcourir.:eek:

EDITION: J'ai modifié la procédure événementielle
Et je n'ai plus d'erreur
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If R.Column <> 5 Or R.Row < 2 Or Len(R) > 0 Then Exit Sub
UserForm1.Show
End Sub
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Est-il possible de faire une validation de donnée avec un Userform

re


RRR... On ne se moque pas Grand Manitou* !::D

J’essaie de donner de noms parlants à mes pièces jointes pour que ceux qui cherchent trouvent.
Donc je remplace le fichier joint précédemment avec une correction pour 2003 (peut plus tester :confused:).

* sinon les prochaines fois je protègerai mes productions :p.
 

Discussions similaires