Bonjour à toutes et tous,
Je fais appelle à vos connaissances aujourd'hui car je suis nulle. Oui, autant ne pas se mentir je ne maitrise pas VBA.
Je dois réaliser un utilitaire logiciel de détermination d'impact environnemental pour le choix de matériaux lors de la conception d'un ensemble.
Ce logiciel doit permettre, notamment :
- la saisie de l'arborescence de l'ensemble à concevoir
- la sélection de matériaux de chaque pièce et de la masse utilisée
- calculer l'impact environnemental de chaque pièce de manière globale avec pondération et détaillée
- fournir un diagramme radar d'impact détaillé
Certains me diront, "pff facile, regarde ce cours-ci" ou encore "il suffit de faire ça, trop simple"... Sachez que je suis partie de vraiment rien il y a un mois et j'ai du lire tous les cours VBA disponibles sur internet et j'ai même acheté un livre. J'ai donc les bases du langage, des fonctions, des macros,... et quelques notions supplémentaires. Mais pas du tout la logique; je suis perdue. Je sais où je veux aller mais je ne sais pas comment le réaliser.
J'ai créé un Userform UF_Pièces qui se présente de la manière suivante:
Pièce jointe 185134
Je veux saisir le nom de mon ensemble, sous ensemble, pièce ainsi que ca masse. Cela fonctionne et est renvoyé à la ligne spécifiée sur la feuille "arborescence":
Mon premier problème est le suivant: je n'arrive pas à créer une boucle qui, à chaque fois que j'appuie sur "valider" écris les valeurs saisies un ligne en dessous. Voila ce que j'ai fait et cela écrit toujours sur la même ligne:
Mon second problème est que je n'arrive pas à sélectionner une plage de données allant de A2 à A20 -pour le moment, sur la feuille Matériaux. En effet je n'arrive qu'à sélectionner une cellule, en l’occurrence A2 par "range", si je met "cells" et la plage voulue, il me dit incompatibilité de type....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Private Sub B_Val_P_Click() Ensemble = TB_Ensemble.Text Nom_SE = TB_SE.Text Nom_Piece = TB_Nom_P.Text Mat_Piece = CB_Mat_P.Text Masse_Piece = TB_Masse_P.Text If B_Val_P = True Then i = 3 Worksheets("Arborescence").Cells(i, 1) = Ensemble Worksheets("Arborescence").Cells(i, 2) = Nom_SE Worksheets("Arborescence").Cells(i, 3) = Nom_Piece Worksheets("Arborescence").Cells(i, 4) = Mat_Piece Worksheets("Arborescence").Cells(i, 5) = Masse_Piece i = i + 1 End If End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub CB_Mat_P_Change() CB_Mat_P = Worksheets("Matériaux").Range("A2") End Sub
Je pense que pour l'instant je ne vais pas vous embêter plus que ça, si quelqu'un est passionné par mon problème, je vous expliquerais le reste.
Je vous remercie en tout cas par avance de votre aide.
Partager