Probléme programmation VBA

jeanbat29

XLDnaute Nouveau
Bonjour,
Un petit soucis: j'ai des fichiers .univ qui sont des résultats d'essais, écrits comme un fichier .txt, avec des tas de chiffres séparés par des espaces.
J'aimerais créer un fichier excel qui me "range" ces données, une valaur dans chaque cellule.
J'essaie de trouver des explications sur VBA, mais j'y comprends que couic. A la base je suis ingé en mécanique, très mateux mais j'ai jamais été fichu de taper ou de comprendre un prodramme il faut dire...
Quelqu'un connait il une vraie initiation à VBA (Tout ce que je trouve, au bout de 4 lignes je suis paumé...).
merci
 

jeanbat29

XLDnaute Nouveau
Re : Probléme programmation VBA

Hum, il y aurait bien autre chose!!

J'ai toutes mes données qui sont importées sur la feuille1, là c'est nikel,
mais j'aimerais utiliser ces données en feuille 2, faire un tableau qui me calculerais la magnitude SQRT(partie réelle au carré + partie imaginaire au carré) et la phase (ATAN(partie imaginaire/partie réelle)), avec graphiques même carrément.
Vu que le nombre de valeurs change d'un fichier univ à l'autre (le nombre de fréquences) je sais pas trop comment m'y prendre...
 

mromain

XLDnaute Barbatruc
Re : Probléme programmation VBA

Bonjour jeanbat29,

afin que le travail effectué sur ce fil puisse servir à d'autres, j'ai fait un petit fichier zip contenant :
- un fichier excel avec la macro d'import (macro du post #27), qui fonctionne donc sur ton fichier .unv complet (que tu m'as fourni en mail)
- le fichier .unv "allégé" (que tu as fourni au post #7) et sur lequel la "macro finale" fonctionne.


Concernant ton problème
Hum, il y aurait bien autre chose!!

J'ai toutes mes données qui sont importées sur la feuille1, là c'est nikel,
mais j'aimerais utiliser ces données en feuille 2, faire un tableau qui me calculerais la magnitude SQRT(partie réelle au carré + partie imaginaire au carré) et la phase (ATAN(partie imaginaire/partie réelle)), avec graphiques même carrément.
Vu que le nombre de valeurs change d'un fichier univ à l'autre (le nombre de fréquences) je sais pas trop comment m'y prendre...

peux-tu (à partir de ces fichiers) expliquer mieux ce que tu veux et renvoyer le résultat que tu souhaites obtenir stp ?

a+

edit: suppression du fichier obsolète
 
Dernière édition:

jeanbat29

XLDnaute Nouveau
Re : Probléme programmation VBA

OK,
Pour être tout à fait précis, il me faudrait exactement ça en sortie.

Je pensais y arriver, mais j'ai un peu de mal comme les données de la feuille 1 changent...

Si t'à un truc je suis carrément preneur!
 

Pièces jointes

  • New WinZip File.zip
    21.7 KB · Affichages: 36

jeanbat29

XLDnaute Nouveau
Re : Probléme programmation VBA

C'est pas mal, y a un truc qui me gêne depuis le début aussi, les dernières valeurs avec 0.00 en parties réelles et imaginaires, je ne dois pas les prendre en compte, pas de calcul de magnitude et de phase.
Et j'aimerais que ça me trace automatiquement les graphes magnitude et phase.

je sais que je suis difficile mais bon...
 

mromain

XLDnaute Barbatruc
Re : Probléme programmation VBA

re,

Voici un essai (ça rame un peu sur le "vrai fichier").

Par contre, je ne suis pas certain que les graphiques affichent les bonnes données (j'ai pas exactement compris ce que tu voulais afficher, donc à vérifier).

a+

edit: suppression du fichier obsolète
 
Dernière édition:

jeanbat29

XLDnaute Nouveau
Re : Probléme programmation VBA

Top du top! C'est carrément ça que je voulais.

Excepté que la phase je la voulais en degrés, je multiplie par 180/Pi, là ça va...

Par contre juste des questions esthétiques:

Comment faire pour changer les options des graphiques?? La couleur (bleu), la largeur du trait (plus petit), virer une bande noire qui apparaît en bas, indiquer les abscisses (fréquence).

Pour avoir dans mon tableau de nombre les valeurs centrées, grisées, encadrées, au format nombre avec 2 décimales??

Tout ça doit se faire aussi dans la macro??
 

mromain

XLDnaute Barbatruc
Re : Probléme programmation VBA

re,
Excepté que la phase je la voulais en degrés, je multiplie par 180/Pi, là ça va...
si tu veux l'intégrer à la macro, il faut remplacer (dans le Sub FaireBilan) la ligne
Code:
.Cells(i, nbColonnes + 6).Value = Atn(somImag / somReel)
par
Code:
.Cells(i, nbColonnes + 6).Value = Atn(somImag / somReel) * 180 / WorksheetFunction.Pi

Comment faire pour changer les options des graphiques?? La couleur (bleu), la largeur du trait (plus petit), virer une bande noire qui apparaît en bas, indiquer les abscisses (fréquence).
tu fais clic droit sur le graphique (sur la "zone de traçage", ou sur les "axes" ou sur la "série de données", puis "Mettre en forme".
Tu auras ici accès à l'ensemble des options que tu recherches.

Pour avoir dans mon tableau de nombre les valeurs centrées, grisées, encadrées, au format nombre avec 2 décimales??

pour ce point, il y aurait moyen de le faire en macro, mais est-ce vraiment utile ?

a+
 

jeanbat29

XLDnaute Nouveau
Re : Probléme programmation VBA

Pour passer en degrés, j'avais tout de même trouvé...

Par contre pour le reste, options des graphiques, c'est pas difficile de changer les options une fois que le graphe est traçé, mais y aurait moyen de les changer avant??

Pour la mise en forme du tableau, c'est assez utile oui, ils sont assez procéduriés dans ma boîte et préfère quand ça rend beau... je vais essayer de me débrouiller en cas.
 

mromain

XLDnaute Barbatruc
Re : Probléme programmation VBA

re,

Pour passer en degrés, j'avais tout de même trouvé...
c'était juste au cas où.. ;)

Par contre pour le reste, options des graphiques, c'est pas difficile de changer les options une fois que le graphe est tracé, mais y aurait moyen de les changer avant??
normalement, tu le fais une fois pour toutes.
si tu enregistre ensuite ton classeur et re-exécute la macro, la mise en forme des graphiques ne devrai pas changer (normalement).

Pour la mise en forme du tableau, c'est assez utile oui, ils sont assez procéduriés dans ma boîte et préfère quand ça rend beau... je vais essayer de me débrouiller en cas.
tu n'as cas envoyer la mise en forme désirée par rapport à "l'import brut" des données du fichier 3y.unv (post #7).

a+
 

jeanbat29

XLDnaute Nouveau
Re : Probléme programmation VBA

Ben un truc comme pour la mise en forme de la feuille1 ce serait pas mal...

Par contre, pour la largeur du trait sur la graphique, j'ai quand même besoin d'avoir le trait... j'arrive pas à la modifier avant l'import des données.
 

mromain

XLDnaute Barbatruc
Re : Probléme programmation VBA

Ben un truc comme pour la mise en forme de la feuille1 ce serait pas mal...
désolé, mais je ne vois pas de quoi il s'agit..

Par contre, pour la largeur du trait sur la graphique, j'ai quand même besoin d'avoir le trait... j'arrive pas à la modifier avant l'import des données.
tu importes les données une fois, tu modifies tes graphiques et ces modifications seront prises en compte pour les futurs imports.

a+
 

Discussions similaires

Réponses
10
Affichages
325
Réponses
3
Affichages
583

Statistiques des forums

Discussions
311 725
Messages
2 081 944
Membres
101 849
dernier inscrit
florentMIG