Création liaison photos et combobox

Quand l’utilisateur valide l’userform , le nom de la photo s’ajoute au tableau noir colone Dénomination en lien hyper texte (si on clique sur le nom la photo s’affiche dans une fenêtre)

Cela change un peu ce que je vous ai proposé avant ...
Pour le lien hypertexte, là ce n'est as une bonne idée car si vous décidez un jour de changer le répertoire contenant les photos ou votre fichier excel de place, le lien ne fonctionnera plus.
On revient à ce que je vous ai proposé avant, à savoir avoir un dossier où se trouve toutes vos photos avec le nom de chaque photo correspondant à la dénomination.

Après vous pourriez aussi consacrer une userform à l'affichage de la photo. Par exemple vous faites un double cick sur la denomination et cela afficherait la photo dans cette Userform. Du coup plus de photo dans les feuilles et nul besoin d'afficher la photo dans l'userform création
Autre solution plus simple et sans userform, le double clik vous dirige vers l'explorateur windows et ouvre la photo dans l'explorateur. (exemple ici https://forum.excel-pratique.com/s/goto/299387 avec la commande shell

Il faut d'abord résoudre ce problème avant de continuer.

On revient à ce que je vous ai proposé avant, à savoir avoir un dossier où se trouve toutes vos photos avec le nom de chaque photo correspondant à la dénomination.

je préférerai cet méthode tout en gardant l'affichage photo dans les userform "création" et "ajouter un élément"

1. Je n'ai pas bien capté le pourquoi de l'USF ajout un élément et création.
Lorsque vous allez ajouter un outillage, vous utilisez quelle USF ?

Mettons que vous ajoutez un article. expliquez moi point par point ce que vous faites et avec quelle USF

2. Expliquez moi aussi le but de la feuille Lexique et la feuille Création.

3. Est-ce vous pouvez avoir des doublons de dénomination ?

1. Je n'ai pas bien capté le pourquoi de l'USF ajout un élément et création.

Lorsque vous allez ajouter un outillage, vous utilisez quelle USF ?

USF "ajout un élément" permet d'enrichir la base de donnée (qui elle sert a alimenter mes combobox et listbox en cas de nouvel outillage )

USF "création" sert a choisir un outillage de la base de donnée et lui attribut un matricule unique ( il y a plusieurs élinue ou manille)

2. Expliquez moi aussi le but de la feuille Lexique et la feuille Création

c'est un ou l'autre , je ne sais pas quel est la meilleure façon pour vous

aillant seulement des bouttons dans la feuille (création/supression) j j'aimerai y inserrer ma base de donnée dans cette feuille mais si ce n'est pas possible a ce moment la on peut creer une feuille lexique

ce sont deux exemple une avec tableau l'autre sans

3. Est-ce vous pouvez avoir des doublons de dénomination ?

oui beaucoup

Plus de 50 de chaque élingues , manille , tresse...

certains outillage sont exactement les mêmes d'autres plus long ou avec des CMU différente et tous stocker a différent lieux et par différente personne

Mettons que vous ajoutez un article. expliquez moi point par point ce que vous faites et avec quelle USF

En fonctionnement standard

l'utilisateur ouvre USF création ,choisi la dénomination ex: Manille de levage

une photo d'exemple s'affiche pour êtres certain de parler du bon outil (j'ai des cas de dénomination différente d'un même outils)

L'utilisateur ajoute un matricule inexistant dans tableau "en service"

Il sélectionne dans les listbox les élément lié au particularité de l'outil (longueur,cmu,lieux de stockage....) il laisse vide les listbox qui ne corresponde pas a l outil (diamétre...) lorsqu'il valide tout s'inscrit dans la feuille "en service"

Si un outil, une longueur, une cmu, un lieu de stockage... n'est pas présent dans la liste de choix de l USF création, il doit le créer avec l'USF ajouter élément

Moi je vais créer via l userform une première base de donnée pour les ListBox

100kl, , 250kl,1 tone, 1,5 tone...

EQUIPE A ,EQUIPE B ...

1M,1M50,2M,3M...

Placard bleu , placard rouge....

elle sera complété au fil du temps

Merci de vos explications c'est plus clair.

Je verrais les choses comme ceci :

1. la feuille Lexique sert uniquement à donner le nom générique des outillages, l'appartenance, les lieux de stockage.
Pour cela on peut faire 3 tableaux (denomination, appartenance, lieu de stockage)
Les autres colonnes actuelles ne sont pas nécessaires je pense, ces infos étant complétées lors de la création des article dans la feuille "enservice"

2. la feuille création et la feuille en service pourraient être une seule feuille. Cela deviendrait une Base de données qui contiendrait tous les outillages utilisés ou susceptibles de l'être.
Lorsque vous ajoutez un outillage il se place dans cette Base de données (en service) avec un numéro de référence obligatoire (c'est votre matricule)
Cette base de données ne listerait plus nécessairement les outillages en service mais tous les outillages. Il vous suffirait éventuellement d'utiliser une colonne existante ou simplement une nouvelle colonne qui dirait si l'outillage est actif ou pas. Mais ce n'est peut être pas nécessaire, à voir si la colonne date mise en service ne peut pas servir.
Pour les rebuts, il suffirait de les sortir de votre feuille en service pour les mettre dans la feuille Rebut.

3. Pour vos photos, un dossier unique accessible par tous et dont les photos sont nommées suivant le numéro de matricule par exemple.

Cela modifie un peu ce que vous avez fait mais me parait plus simple au final

NB : Vous êtes chez Acelor mital ...belgique ?

Encore merci pour votre aide

Je ne peux pas me permettre ces modifications

le classeur que je vous presente n'est qu un appercu il faudra par la suite que je crée d autres feuille avec d autre tableau et adapte le code pour d autre élément

les tableau actuel reprennent les originaux en service actuellement

Les userform que j ai créé risque de ne plus fonctionner et m emmeller sur le peut de vba que je connaisse

si possible j aimerai garder les tableau comme ils sont il y a juste la feuille lexique qui est supprimable si je l ont créé la base de donnée

dans un petit tableau (ou rangé comme des listes verticale sans tableau )en gardant la ligne 2 comme entête

la base de donnée de la feuille creation/suppression doit comporter les different lieux de stockage , unité de longueur, cmu... Mais sans doublons simplement une valeur de chaque

avec pour la liste de dénomination , une visioneuse qui affiche l image en clickant sur la dénomination ou une fenetre qui s ouvre avec l image dedans

Pour le dossier photo vu qu il n 'y a qu une image par denomination il faut qu elle porte le nom de la dénomination en question

je traivail bien a arcelormittal mais a fos sur mer dans le sud de la france

merci

Je ne peux pas me permettre ces modifications

Ok. Mon but était de vous simplifier l'utilisation

Pour le dossier photo vu qu il n 'y a qu une image par denomination il faut qu elle porte le nom de la dénomination en question

Ok sur ce point


Partons d'abord sur la feuille Lexique et donc sur l'USF ajout élement :
- êtes-vous d'accord sur le point 1 de mon post précédent ?
- il ne peut y avoir de doublons dans cette feuille. Juste ?

oui exactement cette base doit etres sans doublon

ecriture en majuscule de preference pour l armonie

J ai bien compris vôtre demarche de simplification d utilisation je vous en remercie mais il y a trop de contraintes pour moi pour la suite

Pour le point 1

Oui on peut faire ca en plusieurs tableau de une colone

Bonjour

Actuellement j'ai laissé la feuille Lexique en l'état comme dans votre dernier fichier mais pour vous expliquer l'idée :

Si on supprime les colonnes CMU, longueur, diamètre dans la feuille Lexique, on peut supprimer aussi les textbox 2, 3 et 4 dans l'USF
Là je ne vois pas l'utilité de les laisser dans la feuille Lexique car lorsque vous complétez la feuille Création, vous utilisez des textbox pour ces 3 informations.

Lors de la création via l'USF création, vous aurez dans ce cas les 3 combos qui utiliseront les 3 colonnes de la feuille Lexique et pour les infos CMU, Longueur et diamètre, vous compléterez les textbox prévues dans l'USF Création

Votre feuille Lexique se présenterait comme ceci

presse papier02

Dites moi si ok pour vous

Oui c est parfait merci

Ok faites déjà ceci dans l'USF Ajout :

- Supprimez les textbox 2, 3 et 4
- Modifiez le nom de la textbox 5 en Textbox 2 et de la textbox 6 et Textbox3
- ajoutez ce code pour le bouton Valider :

Private Sub cmd_ajouter_Click() 'Valider
Dim i As Byte
Dim lig As Integer

For i = 1 To 3
    With Sheets("Lexique")
        On Error Resume Next
        lig = WorksheetFunction.Match(Controls("Textbox" & i).Value, .Columns(i + 1), 0)
        If lig = 0 Then
            dlg = Cells(Rows.Count, i + 1).End(xlUp).Row
            .Cells(dlg + 1, i + 1) = Controls("Textbox" & i).Value
        End If
    End With
    lig = 0
Next i
End Sub

- Ajouter ce code pour le bouton Quitter

Private Sub CommandButton1_Click()'quitter
Unload Me
End Sub

Faites un test

NB : Attention les 3 colonnes ne sont pas des tableaux au format structuré comme vous avez fait dans la feuille création par exemple. Si c'était le cas, il faudrait définir 3 tableaux différents et revoir le code complètement.

c est parfait merci

si a l avenir je dois ajouter une colone au tableau et un textbox 4

quel sont les valeurs a changer dans le code ?

C est bon j ai trouvé en changeant le 1to 3 en 1 to 4

Merci

Ok. On passe à L'USF Création.

Remplacez le code Initialize par celui ci-dessous

Private Sub UserForm_Initialize() 'prérempli les textbox a l'ouverture
Dim i As Byte
Dim dlg as integer

With Me
    .TextBox3.Value = DateValue(Date) 'date du jour
    .TextBox4.Value = DateAdd("D", 365, CDate(Me.TextBox3.Text)) 'Date de validité date textbox3 +12 mois
End With

With ThisWorkbook
    Me.TextBox2.Value = .Sheets("ACCUEIL").Range("Vérificateur").Text 'nom de l utilisateur cellule vérificateur sur "acceuil"
    For i = 1 To 3
        With .Sheets("Lexique")
            dlg = .Cells(Rows.Count, i + 1).End(xlUp).Row
            Me.Controls("ComboBox" & i).List = .Range(.Cells(3, i + 1), .Cells(dlg, i + 1)).Value
        End With
    Next i
End With
End Sub

Faites un test pour voir si ok.

Dites moi par quoi on poursuit

Ca fonctionne parfaitement

Bonjour,

Sur quelle USF dois-je continuer ?

Autre point concernant l'image, j'ai une idée pour éviter de les mettre dans vos feuilles.

En admettant que toutes les images sont placées dans un seul répertoire pour tous, on pourrait dans votre feuille paramétrage définir pour chaque utilisateur le lien qui existe pour accéder au répertoire unique "image"
Exemple :
- admin --> C:\users\nom\....
- chaffard --> C\:users\chaffard\....

Les userform qui vont utiliser la visioneuse image sont

je devrais pouvoir adapter le code au userform manquant

je n ai pas creer la visioneuse et listbox pour recevoir l image sur userform rebus et maj

pour le dossier de destination ce n est pas la penne

je vais le stocker sur un dossier du disque comun

Les userform qui vont utiliser la visioneuse image sont

???

je vais le stocker sur un dossier du disque comun

Quel est l'adresse du répertoire pour accéder à ce dossier ?

Comment allez vous donner le nom à l'image qui sera dans le dossier ?
Là vous devez expliquer comment vous faites manuellement

Pardon...il reste l userform Maj mais je pense pouvoir adapter votre code

pour le chemin d acces pareil j adapterai ,pour le moment je travail depuis mon dossier "PHOTO" de mon bureau

dans l userform "ajouter element" l utilisateur inscrit la denomination en majuscule click sur le bouton "ajouter photo" et la doit s ouvrir la fenêtre windows ou l utilisateur va chercher la photo qu il veut ajouter (sur son bureau, cle usb, smartphone..)

la photo se charge dans la visioneuse

et au moment de valider elle est renommée avec le nom present dans la textbox "denomination" et rangé dans le dossier "PHOTO" qui est sur mon bureau actuellement

Rechercher des sujets similaires à "creation liaison photos combobox"