Projet avec vba

inel94

XLDnaute Junior
Bonjour à tous,

Je suis sur un projet ou je dois réaliser un fichier excel et j'ai besoin de vba. Le soucis c'est que j'y connais rien du tout en programmation.
Mon premier problème c'est que j'ai 6 menu déroulants et qu'il y a des doublons et des cases vides.
Ensuite une fois que j'ai fais mes choix, je ne sais pas codé le bouton validé afin qu'il m'affiche les résultats.

Pour les menu déroulants, j'ai utilisé la fonction suivante:
Dim i
For i = 2 to 65536
ComboBox7.AddItem Sheets("Feuil2").Cells(i,1)
Next
Ca créer un menu déroulant pour la colonne A, pour les autres colonnes je ne sais pas faire :confused::confused:
Merci d'avance.
 

Dranreb

XLDnaute Barbatruc
Re : Projet avec vba

J'espérais, en appuyant sur valider, afficher une fenêtre ou un tableau avec les éléments demandés, un peu à la manière d'une fonction recherche avancée sur un site web ou un logiciel.
Une ListBox alors ? Mais vous voulez y afficher quoi ? quelles colonnes ?
Le bouton valider ne servira à rien à priori. Le remplissage de la ListBox opérera instantanément à chaque choix.
 

inel94

XLDnaute Junior
Re : Projet avec vba

Mon but c'est de pouvoir choisir une rame, un OM ou un ATP et pouvoir visualiser une sorte de fiche en prenant les données sur ma base. J'aimerais faire comme pour les voitures, on choisit la marque ou le modèle et on obtient une fiche technique après avoir cliqué sur valider. Je me suis peut être lancé dans quelque chose d'impossible?
 

Dranreb

XLDnaute Barbatruc
Re : Projet avec vba

Non c'est très possible, encore faut-il prévoir les contrôles permettant d'afficher les données de la fiche, TextBox, Label et autres.
Ce serait à vous de le faire. Mettez leurs des noms mnémoniques commençant par TBx, Lab et autres. Ou alors faites suivre ce préfixe du numéro d'ordre de la colonne dans la base d'où on doit en prendre le contenu.
J'en suis là pour le moment.
 

Pièces jointes

  • CbxLiéesInel94.xls
    198.5 KB · Affichages: 46
  • CbxLiéesInel94.xls
    198.5 KB · Affichages: 51
  • CbxLiéesInel94.xls
    198.5 KB · Affichages: 47

Dranreb

XLDnaute Barbatruc
Re : Projet avec vba

Sinon on peut aussi éventuellement le faire avec juste un Label.
 

Pièces jointes

  • CbxLiéesInel94.xls
    208 KB · Affichages: 50
  • CbxLiéesInel94.xls
    208 KB · Affichages: 64
  • CbxLiéesInel94.xls
    208 KB · Affichages: 59

inel94

XLDnaute Junior
Re : Projet avec vba

Le deuxieme avec le label est magnifique c'est exactement le résultat que j'aimerais obtenir. Merci Beaucoup.
Je suis encore au stade ou j'essaie de comprendre tout ce que vous avez fait. Pour le label, si j'ai plusieurs OM pour la 01B, comment je fais?
 

Dranreb

XLDnaute Barbatruc
Re : Projet avec vba

Bonjour.
si j'ai plusieurs OM pour la 01B, comment je fais?
Ben vous tapez ou choisissez le numéro de code de celui que vous voulez voir. Je ne suis pas sûr de comprendre la question. Si dans la réalité il risquera d'y avoir, comme dans le classeur modèle, plusieurs lignes ayant le même numéro OM ou ATP (en l'occurrence non renseigné), bon, il y aura plusieurs solutions possibles. S'il correspondaient quand même à des colonnes que je n'ai su identifier, remettez peut être les ComboBox que vous aviez décidé de supprimer, ça réduira aussi le risque de doublons sur l'ensemble des critères de choix possibles. Si ce risque ne peut être complètement écarté il faut soit un bouton toupie pour naviguer dans les différentes lignes où tout les critères sont pareils, soit les afficher dans une ListBox où vous pourrez en sélectionner une.
 
Dernière édition:

inel94

XLDnaute Junior
Re : Projet avec vba

J'ai modifié les CBx afin d'évité toute modification nécessaire comme vous lavez suggéré. Dites moi ce que vous en pensez. Par contre je n'arrive pas à importer ma base de donnée complète. Excel me demande de le faire cellule par cellule.
Une fois que j'aurais réglé ce souci, je vais essayer de faire un label pour afficher les cases péremption en fonction des dates de butée. Quelle formule je peux utiliser svp?
 

Pièces jointes

  • CbxLiéesInel94.xls
    200.5 KB · Affichages: 38
  • CbxLiéesInel94.xls
    200.5 KB · Affichages: 35
  • CbxLiéesInel94.xls
    200.5 KB · Affichages: 30

Dranreb

XLDnaute Barbatruc
Re : Projet avec vba

C'est bien. Il ne reste plus qu'à supprimer (ou mettre en commentaire comme on dit, par une ' devant) les CL.Add CBxDisparus
Alors. Dans la Sub CL_BingoUn on récupère toutes les valeurs de cellules dans un tableau auquel on affecte
Donn = CL.PlgTablo.Rows(Ligne).Resize(, NombreDeColonnes).Value
Il ne reste qu'à affecter au Caption d'un Label le nombre de jours que vous voulez par soustraction. Par exemple:
LabPéremp.Caption = Int(Donn(1, 5) - Now + 0.5)
Les dates et durées sont enregistrée en jours comme unité de temps commune dans les cellules Excel.

Tiens, pourquoi avez vous supprimé le BtnAnnuler qui permettait d'effacer les ComboBox ?
 
Dernière édition:

inel94

XLDnaute Junior
Re : Projet avec vba

Les boutons péremption je les ai supprimé. J'ai crée un label péremption 18 mois que j'ai nommé LabPéremption18. Je veux que dedans sois affiché en permanence les rames qui auront une date butée inférieur à 545 jours par rapport à la date d'aujourd'hui. Si je suis votre formule (et si j'ai bien compris), je ne vais affiché dans le label information que les rames périmées à 18 mois? Dites moi si je me trompe
 

Dranreb

XLDnaute Barbatruc
Re : Projet avec vba

Non, ce n'est pas ça. Je vous donnais juste un tuyau pour afficher ce délai pour la fiche sélectionnée.
Normalement une liste devant contenant plusieurs lignes de la base doit s'afficher dans une ListBox, non dans un Label. Et il faudrait me préciser quelles colonnes de la base y afficher.
Mais peut être n'est-ce pas nécessaire: je peux vous écrire une procédure qui limite les choix proposés dans les ComboBox aux lignes où ce délais est inférieur à une limite donnée de jours. Des boutons d'option pour fixer cette limite me sembleraient parfaits.
 

Dranreb

XLDnaute Barbatruc
Re : Projet avec vba

Voici donc l'userform muni d'une LBxPérimé pour l'instant indépendante du reste.
 

Pièces jointes

  • CbxLiéesInel94.xls
    207 KB · Affichages: 35
  • CbxLiéesInel94.xls
    207 KB · Affichages: 45
  • CbxLiéesInel94.xls
    207 KB · Affichages: 38

inel94

XLDnaute Junior
Re : Projet avec vba

Bonjour Dranreb. Finalement j'ai encore modifié le fichier. J'ai du rajouter certaines CBx, modifié la partie "information" et revu un peu l'interface.
J'ai essayé de reproduire ce que vous avez fais pour la lbxpérimé mais je n'y arrive pas. Je ne comprends pas les "Te", Ts" et"Le" et comment est fait le calcul??
 

Pièces jointes

  • CbxLiéesInel94Prmp.xls
    212 KB · Affichages: 37

Discussions similaires

Statistiques des forums

Discussions
312 249
Messages
2 086 601
Membres
103 258
dernier inscrit
kalis03