Gestion d'inventaire/stock - Créer une fenêtre d'ajout/retrait

Bonjour

Le plus simple est de modifier les images .png en .jpg

J'ai renommé toutes les images en .jpg et pour autant cela ne l'affiche pas (j'ai indiqué l'extension .jpg dans le code aussi). Je ne comprend pas pourquoi ça ne fonctionne pas. Le nom du répertoire est également bon, il est au même niveau que le fichier Excel.

sans titre

Bonjour
Si les images sont dans le même répertoire que le fichier Excel, alors le chemin est le suivant:

    Chemin = ThisWorkbook.Path & "\" 
    

Par contre, le nom des images ne doit pas comporter le .jpg
Il doit être identique à celui qui se trouve dans la ListBox2, issu de la BDD.
Je pars pour 2 jours. Faites les essais avec ces préconisations.
Papy Henri

Bonjour Papy Henri,

J'ai essayé en mettant le fichier EXCEL et les images au même niveau et avec le code que tu m'a laissé mais ça ne change rien.

Les images sont bien des .jpg et les orthographes sont identiques car j'ai fait un copier/coller depuis la BDD, donc pas d'erreur possible (ou alors la même des 2 côtés).

La coquille est surement minime mais je ne la trouve pas. Je continue à chercher le temps que tu voit ce message.

Bonjour,
Voici ma configuration qui fonctionne parfaitement.

Mon répertoire et mes sous-répertoires:

capture2

Mon sous-répertoire "Aile"

capture3

Mon formulaire en utilisant le code suivant (chemin, fichier et image)

    Chemin = ThisWorkbook.Path & "\" & Me.ListBox1.Value & "\" ' ou à adapter comme ceci "C:\Users\Documents\"
    Fichier = Chemin & Me.ListBox2.Value
    Me.Image1.Picture = LoadPicture(Fichier & ".jpg")
capture1

Bonsoir à tous.

Si je peux me permettre, bien que vous ayez avancé sur le sujet, de vous proposer une autre façon de procéder.

Merci de vos retour.

Bonne soirée

14matbaldy3.xlsm (82.71 Ko)

Bonjour @AFEH

J'ai trouvé d'où viens le problème : l'image est trop grande!

Mes images de base font 124x124 pixels. En mettant une image moitié moins grande, soit 64x64 pixels, la elle s'affiche. Je suppose que c'est la taille maximum autorisée par le script.

Par contre l'image semble agrandie ensuite car elle est pixelisée, si tu sais qu'elle taille maximum il faudrait ou alors si le script peut réduire automatiquement une image de 124x124 ça serait plus esthétique.

sans titre

Bonjour à tous.

Bien que je n'ai eu aucun retour de matbaldy, je remets le fichier en pièce jointe, car j'y ai apporté quelques modif, notamment j'avais oublié de mettre le nom des contrôles dans les contrôles : cela permet de se passer des labels et allège le formulaire (Code de Monsieur PatrickToulon, merci à lui).

Ma démarche répond à permettre à d'autres d'être potentiellement intéressé.

Si besoin d'explication ne pas hésiter.

Bonne journée à tous.

14matbaldy3.xlsm (91.05 Ko)

Bonjour Matbaldy et le forum
Mes images sont de 148*148 pixels et ça fonctionne.
Essayer de modifier PictureSizeMode en mettant 0 ou 1
Le 3 permet de mettre l'image entière dans la fenêtre.

capture

@ PAYET Claude: désolé mais je n'arrive pas à ouvrir votre fichier avec Excel 2013 .
Voici une nouvelle version 6 qui améliore les versions précédentes. A savoir: effacement de la photo à chaque consultation.
Cdt,

Papy Henri

13matbaldy6.xlsm (35.33 Ko)

Merci pour ton retour.

Ca fonctionne. Néanmoins je remarque un soucis d'affichage en fonction du poids de l'image. Par exemple avec une image 128x128 d'un poids de 12Ko elle ne s'affiche pas. La même compressée à 4Ko et ça fonctionne.

AFEH bonsoir.

Merci pour votre retour. J'avais l'impression d'être invisible. J'ai insisté à mettre mon fichier pour permettre à d'autres d'y trouver peut-être un intérêt.

C'est surprenant que vous ne puissiez pas l'ouvrir. Vous quoi comme message?

Merci encore pour votre retour.

(Papy également.)

Merci beaucoup pour ta contribution Claude. J'espère que ta version pourra aider ou inspirer d'autres personnes.

Bonjour,
@ Matbaldy: Si vous avez trouvé la solution en compressant les images < 10Ko, je considère que le sujet est résolu. Merci de cocher en conséquence.
@PAYET Claude: Voici ce qui s'affiche au clic sur le bouton du formulaire. Dans références, il me manque "Microsoft Windows common....."

capture

Belle journée ensoleillée. Le papy va rester à l'ombre car peu habitué à ces chaleurs en Bretagne.
Papy Henri

Bonjour Papy,

La version actuelle est excellente, vraiment merci.

Sachant que je vais tester au mieux le script avec des ajouts et retrait en masse et surtout l'ajout de la BDD complète avec les images en plus, il y a des chances (j'imagine) que je te sollicite dans le futur pour modifier tout ça. Est ce que c'est gênant si je laisse le sujet ouvert?

Il n'est pas non plus exclus que j'imagine des améliorations mais ça sera surement des petites choses.

Merci pour ce retour.
Le sujet peut-être clos, mais reste toujours à disposition, sans avoir à ouvrir un autre.
Bonne continuation
Papy Henri

Avant de marquer le sujet comme résolu je me permet une question qui n'a rien à voir avec ce que l'on a fait jusque là mais qui m'intéresse grandement.

Je compte le partager au plus grand nombre, il ne sera pas à usage personnel (une fois terminé).

Néanmoins je veux éviter toute manipulation hasardeuse. De ce fait j'aimerais :

  • Empêcher la modification du code que tu as crée
  • Empêcher la consultation de la feuille "Base de données"

Cela devrait éviter une personne curieuse (ou mal intentionné) de faire des bêtises avec le travail que tu as fait.

Bonjour,
1. Pour protéger les macros avec un mot de passe.
Clic-droit sur un onglet,-> Visualiser le code
Avec le menu de VBA -> Outils, puis Propriétés de VBAProject..., puis choisir Protection. Cocher Verrouiller le projet pour l'affichage. Saisir un mot de passe, puis Confimer le mot de passe et finir par OK.
Revenir à Excel par Alt +Q. Fermer votre fichier avec la modification apportée. A la réouverture les macros ne sont plus accessibles sans mdp.
Attention: Bien noter le mot de passe quelque part, sinon impossible d'accéder aux macros

2. Pour Masquer la feuille "Base de données", il suffit d'un clic-droit sur son onglet, puis Masquer. Cela suffira t-il?
Cdt

Papy Henri

Ca a l'air parfait.

Merci beaucoup

Rechercher des sujets similaires à "gestion inventaire stock creer fenetre ajout retrait"