Bonjour bonjour,
Comme vous pouvez le voir, je suis un débutant (autant sur ce forum que sur VBA Excel) et j'ai besoin de votre aide. Je vous explique ma situation :
Dans le cadre d'un projet je dois analyser des fichiers ".obj" (la seconde pièce jointe est un exemple) qu’inséreraient les utilisateurs c'est à dire je dois étudier l'exposition au soleil d'objets 3D. Pourquoi des fichiers .obj ? Parce que ça me permettrait de décomposer une surface complexe en triangle et ainsi rendre l'analyse surfacique plus simple. De plus il est facile de modifier les couleurs avec un format .obj.
Voilà donc mon problème, lorsque j'insère un fichier .obj, il faut que j'effectue 3étapes afin d'avoir un "beau tableau" (ces étapes sont expliquées dans la la première pièce jointe). Je souhaiterai que ces paramètres se règlent automatiquement ainsi n'importe quel utilisateur aura juste à insérer son fichier .obj (en utilisant le fichier .mtl associé)
Ainsi à partir de ces triangles se déduisent leur aire et leur orientation, et je peux insérer ces données dans mon programme afin d'analyser les performances. Par la suite je devrai le compiler de manière à être au format .mtl, mais je n'en suis pas encore là.
Je vois pas du tout comment faire... Enfin tout d'abord je pensais sélectionner une case, dans un nouveau Worksheet, où il me collerait toutes ces données mais après l'étape de division est encore obscure ... Il faudrait qu'à chaque "espace" on change de colonne et à chaque retour à la ligne, on change de ligne. C'est possible à coder ?
Merci de votre aide![]()
demarche_file_obj.pdf
Edit : Je viens de revoir mon pdf, je me suis trompé à la page 2, le paramètre est : "délimité" et non "largeur fixe".
dometriangle_test5.zip
Edit : avec quelques recherches, j'ai peut-être trouvé une solution concernant le retour à la ligne avec :
Concernant l'espace, je peux utiliser la fonction "split" ? genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CelluleDepart = ActiveCell.Value NoCol = Activecell.Column Tableau = Split(CelluleDepart, Chr(10)) For i = 0 To UBound(Tableau) Cells(i+1, NoCol).value = Tableau(i) Next
Mais le "espace" entre guillemet ne va pas fonctionner si ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CelluleDepart = ActiveCell.Value NoCol = ActiveCell.Column Split(Range(NoCol), " " )
NB : Je suis sous excel 2010.
Edit : Finalement j'ai peut-être trouvé la solution, est-ce que si j'adapte ce code à mon fichier .obj, ça peut le faire ? Cela me réglerait le problème des espaces mais par rapport au retour à la ligne, il faut que j'utilise la commande "other" ?
Partager