VBA macro en meca

Bonjour, je m'appelle Nathan je suis actuellement en BTS et je travaille pour de la transmission méca.

Mon problème est le suivant :

j'aimerais créer un fichier excel à l'aide de VBA qui me permettrais d'effectuer mes calculs en méca automatiquement en fonction des données que j'ai.

exemple CONTEXTE

j'ai mes données pour un convoyeur à bande (j'ai un couple, j'ai une puissance ,j'ai un débit, j'ai une force utile ect….)

l'idéal serais que qd je rentre cela, sa m'affiche tous les résultats possible avec les données que j'ai sous la main et que sa me signale celles qui me manque .

Pouvez vous svp me faire un exemple en VBA ou je rentrerais biensur toutes mes formules méca et mes données. juste avoir la structure ^^.

Car pour l'instant je fonctionne comme cela: j'ai un bouton associé a une macro qui est associé a une formule

exmple je veut une puissance j'ai un bouton puissance (l'inconvéniant c'est une fois cliquer dessus que je me rend compte qui me manque des données...puis avoir 36 000 boutons n'est pas pratique clairement.....)

Je remercie d'avance quiconque me répondra PS escusez moi pour l'ortographe .

Salut Nathan!

exmple je veut une puissance j'ai un bouton puissance (l'inconvéniant c'est une fois cliquer dessus que je me rend compte qui me manque des données...puis avoir 36 000 boutons n'est pas pratique clairement.....)

Tu sais qu'il existe des Functions sur Excel qui te permette de créer tes propres formules ;D ?

Exemple ci-dessous !

J'ai écrit ce code dans un module classique :

Function CARRE(x As Range) As Long
Application.Volatile
CARRE = x * x
End Function

Maintenant, sur ce fichier Excel, je peux utiliser la formule CARRE() pour afficher la valeur d'une cellule ^ 2

capture

Est-ce que c'est quelque chose dans ce genre la que tu veux ?

PS: Desolay pour mon orthographe aussi !

Merci de ta réponse rapide !

Donc oui moi j'avais plutôt en tête de rentrer mes données dans un formulaire, une liste déroulante ou un textbox

c'est surement beaucoup plus complexe mais le rendu est plus propre.

je rentrerais donc mes données dans un formulaire par exemple et ensuite sa me mettrais les résultat dans les cellules avec un titre biensur (exemple: puissance 100w) et la ou il manquerais des données pour que le calcul fonctionne sa me mettrais la cellule en rouge et en dessous les données manquante.

voila voila ^^

sa serait le top du top car le gain de temps serait énorme pour moi !

Re- !

Je pense pas que passer par un formulaire pour faire ce que tu demande soit impossible, mais il faudrait que tu sois plus précis dans ta demande alors :p

j'avais plutôt en tête de rentrer mes données dans un formulaire, une liste déroulante ou un textbox

C'est quoi ces données ?

Des chiffres ? Des lettres ? Des références à des cellules / une plage de cellule ?

Combien tu dois saisir de ces données ? Elles sont toute identiques ?

je rentrerais biensur toutes mes formules méca

Il y en a plusieurs à saisir ?

Elles seront écrit sous quelle format ? VBA ? Formule Excel ? Texte Simple ?

Comment on dit que tel donnée correspond à tel formule ?

ensuite sa me mettrais les résultat dans les cellules

Quelle cellule ? Celle où tu a tes données indiqué ?

avec un titre biensur (exemple: puissance 100w)

Un titre ?

Le must serait que tu nous fournisse un fichier exemple où tu nous présenterais plusieurs cas possible, comment est organisé ton Excel, comment tu souhaite avoir ton formulaire etc...

En l'état, ta demande ne me semble pas réalisable à moins d'avancer à très petit pas, faute d'élément :p

Restant à ta dispo !

En tous cas merci de t’intéresser déjà a mon problème !

je ne peut pas vous envoyer mon fichier tel quel car il est trop volumineux...

Les données (nombre décimal) serais affecter par catégorie je m'explique....

  • catégorie courroie
  • catégorie chaine
  • catégorie convoyage

Si je rentre par exemple un diamètre primitif d'un pignon dans la catégorie "CHAINE" cette de donnée est utilisé dans la formule pour calculer la vitesse de la chaine, vitesse rotative du pignon ect...mais pas pour un rapport engrenage par exemple.

Dans les données ont y retrouve en fonction des catégorie des valeurs en mm,kg, tr/min,Nm, N, T/h ect...

Les données sont donc des variables.

Le système de catégorie sert tous simplement à éviter les erreurs quand deux données sont identique mais pas utilisé pour calculer la meme chose.

Exemple: j'ai un "Pas" que l'ont retrouve pour des calculs en courroie comme en chaine

1-je selectionne ma catégorie

2-je rentre mes valeurs que j'ai en possession dans l'espace dédié a celle ci

3-le programme effectue tous les calculs qui lui es possible en fonction des données rentrer

4-les résultats sont indiqués dans la ligne 2 par exemple de la cellule A2 à A7 car pour la catégorie chaine par exemple j'ai 7 résultat possible car 7 formule sous la main.

5- la case A4 en rouge par exemple si le programme na pas eu toute les données nécéssaire pour faire le calcul

/.\

TOUTES mes FORMULES sont en VBA .

J'espère t'avoir permis de comprendre un peut plus mon idée

Merci pour tes précisions !

On va commencer avec un petit essaie et on va avancer à taton :p

Ci-joint le fichier, essaye le formulaire (qui fais seulement les données pour l'instant) et reviens vers nous !

15pour-nathan.xlsm (16.21 Ko)

merci beaucoup je vais essayer sa !

c'est parfait !

j'ai juste change le titre de la liste tout à droite par "Merci d'indiquer l'unité"

Et le raccourci clavier pour ouvrir le formulaire c'est quoi ? CTRL

c'est nickel pour les données !

Re- Nathan !

Cool si la méthode de saisie des données te conviens c'est parfais

Et le raccourci clavier pour ouvrir le formulaire c'est quoi ? CTRL

Sa se fais tout bêtement sur l'enregistreur de macro !

Qu'est ce que tu veux comme raccourci, je te le fais en même temps que je m'occupe de la saisie des formule :p

c'est nickel pour les données !

Je passe donc à la saisie des formules !

dacc dacc ^^ CTRL + F serait parfait !

Re nathan!

Voilà la fichier modifié où tu doit faire simultanément Ctrl + F pour ouvrir le formulaire!

J'ai rajouté un seul champ pour la formule !

Je te laisse essayé et revenir vers nous si il y a des modifs à apporter

6pour-nathan.xlsm (17.64 Ko)

Encore merci beaucoup !

je vais essayer sa je vous tien au courant !

La bouton de validation est cool !

Mais en gros les Formules je ne souhaite pas quel soit visible. Pas besoin d'un autre champ.

je voudrais donc rentrer mes données sa c'est nickel ensuite appuyer sur valider et le calcul ce fait automatiquement en fonction des données.

je suppose que le mieux serait que vous me métiez un repère la ou je doit rentrer toute mes Formule.

Exemple d'un Calcul que j'avais rentrer :

Sub VitesseLinéaire()

Dim a As Double

Dim b As Double

Dim c As Double

Range("C8").Select

a = InputBox("Entrer Vitesse poulie (Tr/min)", "NOMBRE SEULEMENT")

Worksheets(1).Range("F3").Value = a

Range("D8").Select

b = InputBox("Entrer le diamètre primitif", "NOMBRE SEULEMENT")

Worksheets(1).Range("F4").Value = b

c = (a * b * 4 * Atn(1)) / 60 * 1000

Range("F2") = c

End Sub

L'utilisateur ne doit avoir qu'a rentrais ces données le reste ce fait automatiquement .

Désolé si ont c'est mal compris ^^

Sub VitesseLinéaire()

Dim a As Double

Dim b As Double

Dim c As Double

Range("C8").Select

a =Entrer Vitesse poulie

b = diamètre primitif

c = (a * b * 4 * Atn(1)) / 60 * 1000

Range("F2") = c

End Sub

Donc sur cet exemple nous somme en catégorie catégorie courroie

vitesse linéaire est le titre du resultat (ce que l'ont recherche)

a et b représente les nombre saisie

c est le résultat du calcul

Ce calcul doit donc s'effectuer une fois avoir appuyer sur valider et donner les resultat dans une cellule nommer Vitesse Linéaire

Pareil pour toutes les autres que je rentrerais.....

En me relisant je vien de voir qui manque un menu déroulant pour définir a quoi correspond la valeur saisie pour le calcul

je m'explique....

Dans mes formule les lettre représente une donné exemple a+b =40+50 =entraxe + diamètre

Mais sans ajouté une liste déroulante pour selectioné si notre valeur est un "entraxe" ou un "diamètre" ou autres...

les calcul seront faux....

en rajoutant cette liste

Je pourrais associé chaque lettre utilisé dans les formules à une désignation

EXEMPLE

a=entraxe

b=diametre primitif

c=rendement

d=coefficient de friction

ect...

donc je devrais changer les lettre de tous mes calculs biensur

j'espère que vous m'aurais compris je sais que ces difficile ....

Ouaip ouaip !

J'ai tout compris mais sa nous fais revenir en arrière tout sa x)

Si tu me le permet, je te ferais un retour demain ;D

B'zou '3'

sa marche ! merciii

Me revoilàààà

Alors, j'ai modifié le formulaire (en faite, il y avait pas trop de changement)

A essayé pour voir si sa te conviens

Restant à dispo!

4pour-nathan.xlsm (21.22 Ko)

ah j'attendais ta réponse avec impatience aha !

je vais essayer sa

alala je n'arrive pas a t'expliquer....

il faudrait juste ajouter une liste déroulante en fait ou ont y retrouverais toute les désignation.(rayon du tambour,couple de démarrage ect...)

Ces désignation seront ensuite associé a une lettre dans le VBA

Ce que l'utilisateur doit voir :

  • Merci d'indiquer ci-dessous la catégorie
  • Merci d'indiquer ci-dessous votre valeur
  • Merci d'indiquer ci-dessous l'unité
-Merci d'indiquer la correspondance de votre valeur
  • ajouter une nouvelle donnée
  • Valider mes saisies et procéder aux calculs

Ce que moi je devrais configurer en VBA

-mes formules exemple: c=a*b

-associé chaque désignation ce trouvant dans la liste déroulante a une lettre que j'utilise dans mes formule

(l'utilisateur selection dans la liste déroulante "rayon tambour" ensuite il rentre sa valeur puis il sélectionne l'unité)

"Rayon du tambour" correspondra donc a une lettre par exemple "a" et à une valeur le tous nous donne une première donnée !

et donc le calcul sera possible et se réalisera en VBA

j'espère que tu aura compris que tous ce qui es calcul ce fait en VBA et que l'utilisateur ne doit pas le voir à part biensur le résultat

EN gros ! il faut partir que l'utilisateur ne connais pas les formule , il c'est juste qu'il a PAR EXEMPLE un rayon qui fait 30 mm et une force de démarrage de 20 N

Le principe du programme c'est qui rentre et selectionne sela et qu'il es tous les résultat possible

Rechercher des sujets similaires à "vba macro meca"