Formule VB/excel

Résolu/Fermé
slaii17 Messages postés 5 Date d'inscription lundi 3 février 2014 Statut Membre Dernière intervention 4 février 2014 - 3 févr. 2014 à 22:38
slaii17 Messages postés 5 Date d'inscription lundi 3 février 2014 Statut Membre Dernière intervention 4 février 2014 - 4 févr. 2014 à 15:41
Bonjour,

je souhaite créer un programme de calcul pour des couvertures.

J'ai déjà créer l'interface avec Visualbasic, cependant, j'ai 2 texbox qui correspondent a la largeur et longueur de la couverture, j'aimerais, en rentrant les tailles dans ces textbox, voir apparaître dans la 3eme textbox la superficie en m2.
Afin de pouvoir calculé a partir de cette 3eme textbox, le prix total de la couverture..


J'espère avoir été assez clair.

Merci pour vos futures réponses

3 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
Modifié par pilas31 le 4/02/2014 à 14:43
Bonjour,

Voila un exemple de code très simple associé à l'userform ou se trouvent les trois textbox
Private Sub TextBox2_Change()
    Call Calcul
End Sub
Private Sub TextBox1_Change()
    Call Calcul
End Sub
Sub Calcul()
    If IsNumeric(TextBox1.Value) And IsNumeric(TextBox2.Value) Then
        TextBox3.Value = TextBox1.Value * TextBox2.Value
    End If
End Sub


Juste une remarque : S'il s'agit de TextBox directement insérés dans une feuille alors mettre ce code dans le code vba associé à la feuille.

Dernière remarque : S'il s'agit toujours de TextBox directement insérés (sous forme de contrôles AxtiveX) et que le VBA c'est pas votre truc (ce qui est respectable), alors il faut se mettre en mode création des contrôles et faire clic bouton droit sur les textbox pour renseigner la propriété "LinkedCel" et indiquer l'adresse d'une cellule de la feuille (par exemple respectivement A1, A2 et A3) Ainsi il est possible de mettre dans la cellule A3 la formule =A1+A2 et ainsi nous aurons le même comportement qu'avec le VBA.

Cordialement,
0
slaii17 Messages postés 5 Date d'inscription lundi 3 février 2014 Statut Membre Dernière intervention 4 février 2014
4 févr. 2014 à 14:38
bonjour,

merci pour la réponse rapide, seulement je suis sous visual basic 2010 et la reference "value" n'est pas reconnue :

Erreur 1 'Value' n'est pas un membre de 'System.Windows.Forms.TextBox'.
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
4 févr. 2014 à 14:48
Alors mes excuses car j'ai cru comprendre qu'il s'agissait du VBA c'est à dire du Visual Basic pour Application qui est le langage de macro de Excel.

Je ne connais pas l'environnement de développement Visual Basic 2010
0
slaii17 Messages postés 5 Date d'inscription lundi 3 février 2014 Statut Membre Dernière intervention 4 février 2014
4 févr. 2014 à 14:52
Merci quand meme !
Le VBA se trouve directement a partir d'excel ?
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
4 févr. 2014 à 15:16
Oui, il suffit de faire ALT + F11 pour aller dans l'éditeur de macro VBA
0
slaii17 Messages postés 5 Date d'inscription lundi 3 février 2014 Statut Membre Dernière intervention 4 février 2014
4 févr. 2014 à 15:17
Alors je vais m'y lancé :)
merciiiii
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
Modifié par pilas31 le 4/02/2014 à 15:24
Dans les versions d'Excel à partir de 2007 il faut aller dans la personnalisation du ruban pour ajouter un onglet qui s'appelle "développeur" (s'il il n'y est pas déjà) et qui comporte une rubrique "Code" qui concerne le VBA.

Dans les versions précédentes (2003 par exemple) c'est le menu "Outils" puis "Macro" qui donne accès à VBA
0
slaii17 Messages postés 5 Date d'inscription lundi 3 février 2014 Statut Membre Dernière intervention 4 février 2014
4 févr. 2014 à 15:41
Ca fonctionne ! Merci beaucoup !
Et effectivement, l'utilisation est plus aisée sur VBA !
Merci du conseil
0