Problèmes pour écrire un code - gestion de collection

alias_2003

XLDnaute Occasionnel
Bonjour à tous,
Je suis toujours en train d'optimiser mon fichier de gestion de ma collection de pièces... Je suis bloquée parce que j'aimerais différencier les pièces "en circulante" de celles de collection ("BU")...
J'ai essayé à partir du fichier joint, d'écrire les lignes de code me demandant de choisir entre "circulante" et "BU" mais sans succès, pour l'instant. Voilà ce que je recherche:
1. lorsque je clique sur une image, une inputbox me demande l'année,
2. lorsque j'ai entré l'année, j'aimerais qu'une msgbox me demande s'il s'agit d'une BU ou d'une circulante,
3. selon ma réponse, j'aimerais qu'une msgbox m'informe du nombre d'exemplaire de cette pièce que j'ai dans ma collection et me demande si je souhaite en ajouter une,
4. si je réponds oui, j'aimerais que le stock soit incrémenté de 1 dans la feuille "récapitulatif".
Voilà, j'espère avoir été claire dans ma demande...
Merci beaucoup de votre aide,
Bonne journée,
Bien amicalement

PS: je précise que j'ai posté ma demande sur un autre forum
 

Pièces jointes

  • Walden Base de données V005.xls
    183 KB · Affichages: 49
  • Walden Base de données V005.xls
    183 KB · Affichages: 52
  • Walden Base de données V005.xls
    183 KB · Affichages: 55

camarchepas

XLDnaute Barbatruc
Re : Problèmes pour écrire un code - gestion de collection

bonjour Alias,

Voici déjà pour l'ajout des quantités.
Code:
Sub Stockage2()
Dim Col As Long
Dim Lig As Long
Dim Description As String
Dim Annee As String
Dim Cel As Range
Dim lg As Long
Dim Cl As Integer
Dim Nature As Integer
Dim Nombre As Integer
    Col = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column
    Lig = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
    Description = Cells(Lig, Col - 2)
    With Sheets("Récapitulatif")
    
    Nature = IIf(MsgBox("Circulante?", vbYesNo) = vbYes, 1, 2)
      Set Cel = .Columns("B:AA").Find(what:=Description, LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
         If Cel.Offset(0, Nature) >= 0 Then
           Nombre = IIf(Cel.Offset(0, Nature) = "", 0, Cel.Offset(0, Nature))
           If MsgBox("Vous possédez " & Nombre & " pièce(s) " & "'" & Description & "'" & vbCr & _
             "Voulez-vous en rajouter une de plus ? ", vbInformation + vbYesNo, _
             "Mis à jour du stock") <> vbYes Then
               Exit Sub
            Else
             Cel.Offset(0, Nature) = Cel.Offset(0, Nature) + 1
           End If
         End If
       
       Else
         MsgBox "Description non trouvé : " & Description
      End If
    End With
End Sub

Reste à voir la création d'une nouvelle pièce ?

Qu'en - t - a l'année , lorsque tu cliques , elle est déjà renseignée dans le formulaire,

De plus ,Dans le récap il n'y a pas de colonne dédiée par l'année ..
 

alias_2003

XLDnaute Occasionnel
Re : Problèmes pour écrire un code - gestion de collection

Bonjour camarchepas,
Tout d'abord MERCI beaucoup de ton aide !!
Concernant tes questions, tu as parfaitement raison, mais comme je n'y arrivais pas, je faisais mes essais sur un fichier simplifié pour résoudre mes problèmes petit à petit...
En pj, le fichier original correspondant à ma demande !
Merci encore,
Bonne journée,
Bien amicalement

PS: si tu as un peu de temps, pourrais-tu me donner quelques explications du code que tu as écrit, je n'ai pas compris grand chose...
 

Pièces jointes

  • Walden Base de données V006.xls
    327 KB · Affichages: 27
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Problèmes pour écrire un code - gestion de collection

Alias,

Voici donc la macro adaptée et commentée intégrée dans le fichier original :
 

Pièces jointes

  • Walden Base de données V007.xls
    290.5 KB · Affichages: 33
  • Walden Base de données V007.xls
    290.5 KB · Affichages: 36
  • Walden Base de données V007.xls
    290.5 KB · Affichages: 41

alias_2003

XLDnaute Occasionnel
Re : Problèmes pour écrire un code - gestion de collection

Merci beaucoup !!! C'est parfait et je me rends bien compte que je n'aurais jamais pu trouver comment faire...
Je me permets de te poser une dernière question (je sais j'abuse...) :
Le fichier que j'ai joint est encore en cours de développement, mais déjà je me rends compte que je vais être confronté à un problème... J'ai crée une feuille pour les pièces de 1, 5, 10 et 50 cents (classées par années) (fichier Walden Base de données V006) et une autre uniquement pour les 25 cents plus nombreuses mais aussi bien plus diverses... C'est avec cette dernière feuille que le problème risque de se poser.
Ma collection de pièces s'agrandit et j'ai la chance d'avoir récupérer des pièces qui n'étaient pas encore recensées dans mon tableau. Je les ai donc ajouter à la liste, mais j'ai du entièrement refaire ma feuille récapitulative qui n'était plus correcte... Le problème risquant de se poser à nouveau, j'aimerais savoir s'il est possible que la feuille "récapitulatif" du fichier joint, se mette à jour automatiquement lors de l'ajout d'une nouvelle entrée dans la feuille "Liste" ?? Je joins à nouveau le fichier pour montrer ce que j'aimerais faire... Dis moi si ce n'est pas clair...
Merci beaucoup de ton aide et de tes idées,
Bien amicalement
 

Pièces jointes

  • Walden Base de données V005.xls
    179 KB · Affichages: 58
  • Walden Base de données V005.xls
    179 KB · Affichages: 59
  • Walden Base de données V005.xls
    179 KB · Affichages: 61

camarchepas

XLDnaute Barbatruc
Re : Problèmes pour écrire un code - gestion de collection

Alias,

Si j'ai bien compris tu veux gérer en automatique la feuille récap.

Et tiens pourquoi pas prévoir aussi la gestion d'ajout dans la liste, avec intégration de l'image à partir d'un fichier image

Donc procédure ajout, doit_on prévoir suppression si erreur , ou cela ce ferait éventuellement que manuellement.

Pour les type de piece il suffit d'ajouter un groupe de colonnes comme déjà défini,

pour une nouvelle année, ajout de la ligne puis tri pour remettre en ordre les années si besoin.

Y'a-t-il des pièces qui pourrait être plus vieilles que l'an 1000 ( car pour le moment filtre sur 4 chiffres , bon 1 zéro devant ferait l'affaire ...

Oui la principale question est :

Combien au maximum , l'on prévoit de pièces possible . en fait pour savoir si un jour cela ne tiendrait plus sur une seule feuille ...

Bon , tu peux toujours passer en Excel 2010, mais bon pour savoir si l'on prévoit 2 feuilles récap, voir plus , pourquoi pas une feuille par pays ....

En fonction de tes réponses , la stratégie ne sera pas la même .

J'attends donc ton retour pour desserrer le frein à main.
 

alias_2003

XLDnaute Occasionnel
Re : Problèmes pour écrire un code - gestion de collection

Merci camarchepas !
Je vais tâcher de répondre à tes questions !
Et tiens pourquoi pas prévoir aussi la gestion d'ajout dans la liste, avec intégration de l'image à partir d'un fichier image
C'est une bonne idée, ms mes connaissances sont trop limitées pour concevoir un tel fichier...

Donc procédure ajout, doit_on prévoir suppression si erreur , ou cela ce ferait éventuellement que manuellement.
Oui, ce serait l'idéal, je pense !

Y'a-t-il des pièces qui pourrait être plus vieilles que l'an 1000 ( car pour le moment filtre sur 4 chiffres , bon 1 zéro devant ferait l'affaire ...
Non, en aucun cas !

Combien au maximum , l'on prévoit de pièces possible . en fait pour savoir si un jour cela ne tiendrait plus sur une seule feuille ...

Bon , tu peux toujours passer en Excel 2010, mais bon pour savoir si l'on prévoit 2 feuilles récap, voir plus , pourquoi pas une feuille par pays ....

J'ai déjà prévu un fichier par pays... J'essaie de collectionner les pièces de toute valeur, de toute année du Canada, USA et RU... Donc, ça fait beaucoup de pièces (je ne compte pas finir ma collection demain, ou même la finir un jour ^^)...
Est-ce que ces réponses t'aident à y voir plus clair ?
À te relire
Bien amicalement
 

camarchepas

XLDnaute Barbatruc
Re : Problèmes pour écrire un code - gestion de collection

Alias,

Voici une version avec ajout de référence et ajout de l'année sur une référence si non connue.

J'ai fais quelques tests .

Restera à voir la suppression, mais si tu peux déjà tester ceci pour voir.
 

Pièces jointes

  • Walden Base de données V007.xls
    328.5 KB · Affichages: 26
  • Walden Base de données V007.xls
    328.5 KB · Affichages: 33
  • Walden Base de données V007.xls
    328.5 KB · Affichages: 32

alias_2003

XLDnaute Occasionnel
Re : Problèmes pour écrire un code - gestion de collection

Tout d'abord, félicitations !! C'est impressionnant !
Juste qq remarques mineures :
* est-il possible de mettre les images à la "bonne dimension". Si l'image ne l'est pas, la macro plante. EDIT, je vois dans le code que c'est déjà le cas !
* lorsque l'on clique sur une image, l'inputbox nous demande l'année, puis nous demande s'il s'agit d'une pièce circulante, si elle existe, pas de soucis. Si la ligne doit être créée, la macro nous redemande s'il s'agit d'une pièce circulante ou non. Est-il possible que la macro demande l'année, puis qu'elle vérifie si elle existe ou pas, avant de nous demander si la pièce est circulante ou pas ?? (je sais... là, je pinaille ;) )
* peut-être ajouter la possibilité d'annuler l'inputbox "Année".

C'est tout ! C'est vraiment très très bien !! Ne te méprends pas sur mes remarques, je sais le travail que ça représente. J'en serais bien incapable...
A+
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Problèmes pour écrire un code - gestion de collection

Alias,

Pour l'image , si tu pouvais m'envoyer un des fichier qui plante , car logiquement l'adaptation de taille est prévue.

Avec un fichier exemple , je verrai ce qui cloche , lol enfin j'espère .

Pour La séquence des questions , je l'avais en effet remarqué. je regarde pour te modifier ça rapidement .

Et , je vais essayer de rajouter du commentaire dans le code à titre pédagogique.
 

alias_2003

XLDnaute Occasionnel
Re : Problèmes pour écrire un code - gestion de collection

J'utilise beaucoup le site "numista" (Numista) pour récupérer les infos ou les images. Je te joins une image (choisie au hasard) qui fait planter la macro. Attention, ce n'est pas le cas de toutes les images !
Merci beaucoup de consacrer de ton temps à mon "problème". Et merci aussi des explications, parce que j'avoue sans honte que je n'ai pas tout saisi...
 

Pièces jointes

  • g1008.jpg
    g1008.jpg
    95 KB · Affichages: 71

alias_2003

XLDnaute Occasionnel
Re : Problèmes pour écrire un code - gestion de collection

J'ai crée une feuille pour les pièces de 1, 5, 10 et 50 cents (classées par années) (fichier Walden Base de données V006) et une autre uniquement pour les 25 cents plus nombreuses mais aussi bien plus diverses... C'est avec cette dernière feuille que le problème risque de se poser.

Je continue à travailler ce fichier... Je te joins la feuille qui risque de poser beaucoup de problèmes... Le nombre de pièce est élevé, et j'ai trouvé que cette présentation était la plus claire...


Lien CJoint.com 3IwwgO5CaFm
 

camarchepas

XLDnaute Barbatruc
Re : Problèmes pour écrire un code - gestion de collection

Alias,

JE pense que nous allons vers 2 macros légérement différentes construit malgrès tout sur la même source.

A moins que tu ne veuilles transférer le récap des 1,5,10 au même format ?

J'ai eu peu de dispo dimanche aprés midi, j'espère m'y remettre dès ce soir , tant que c'est chaud (lol)

Je viens de refaire une passe sur la documentation du code.

Reste donc le réglage et la prise en compte du nouveau critére KM ,

Donc une petite question : Est-il unique pour chaque référence ?
 

alias_2003

XLDnaute Occasionnel
Re : Problèmes pour écrire un code - gestion de collection

Bonjour camarchepas,
Je pense que c'est beaucoup de boulot... À la réflexion, je pense qu'on ne va ne garder qu'un format, à savoir celui que je t'ai envoyé en dernier (Lien CJoint.com 3IwwgO5CaFm )... Je vais faire une feuille par pièce, soit 1, 5, 10, 25, 50 cents et 1, 2 dollars. Ce sera "plus simple" ! Qu'en penses-tu ??
Le KM est unique par référence, il correspond à une pièce, mais attention cette pièce peut avoir été produite 1 an ou x années !
Merci beaucoup de ton aide et de tes conseils,
Bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 538
Messages
2 089 403
Membres
104 160
dernier inscrit
dqldq