IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

les user form


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut les user form
    bonjour,

    je vous explique mon problème. Je passe par différents userform pour la saisie des données. Puis je voudrais savoir comment faire pour effectuer les calculs dans mes userform et que les résultats s'affichent dans une feuille excel.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Private Sub CommandButton1_Click()
     
        hauteur2p.Hide
        point2.Show
     
    End Sub
     
    Private Sub CommandButton2_Click()
    If TextBox34.Value = "" Or TextBox35.Value = "" Or TextBox36.Value = "" Or TextBox37.Value = "" Then
    MsgBox "Il manque des informations."
    Else
    'je les mets ici???
     
    hauteur2p.Hide
    Sheets("calcul1").Select
    End If
    End Sub
     
    'hst station 1
    Private Sub TextBox34_Change()
     
    End Sub
     
    'hv station 1
    Private Sub TextBox35_Change()
     
    End Sub
     
    'hst station 2
    Private Sub TextBox36_Change()
     
    End Sub
     
    'hv station 2
    Private Sub TextBox37_Change()
     
    End Sub

  2. #2
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,

    c'est un peu vague, tu veux faire quoi exactement?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut
    Bon en fait pour le moment voila comment je m'y suis pris
    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
    19
    20
    21
    22
    23
    24
    25
    Dim p As Single
    p = WorksheetFunction.pi 'permet d'utiliser le nombre pi
     
        If TextBox34.Value = "" Or TextBox35.Value = "" Or TextBox36.Value = "" Or TextBox37.Value = "" Then
            MsgBox "Il manque des informations."
     
        Else 'debut des calculs
            Range("calcul1!D17") = (Range("calcul1!B17").Value + Range("calcul1!C17").Value) / 2
                If Range("calcul1!D17").Value > 400 Then Range("calcul1!D17") = Range("calcul1!D17").Value - 400
                Else: Range("calcul1!D17") = Range("calcul1!D17").Value
                End If
            Range("calcul1!E18") = (Range("calcul1!E16").Value + Range("calcul1!D17").Value) - 200
            Range("calcul1!D19") = (Range("calcul1!B19").Value + Range("calcul1!C19").Value) / 2
     
                If Range("calcul1!D19").Value > 400 Then Range("calcul1!D19") = Range("calcul1!D19").Value - 400 Else Range("calcul1!D19") = Range("calcul1!D19").Value
                End If
     
            Range("calcul1!E20") = (Range("calcul1!E18").Value + Range("calcul1!D19").Value) - 200
            Range("calcul1!H19") = (Range("calcul1!G19").Value + Range("calcul1!G20").Value) / 2
            Range("calcul1!K19") = (Range("calcul1!G19").Value / (Tan(Range("calcul1!F19").Value * (p / 200)))) + TextBox34.Value - TextBox35.Value
            Range("calcul1!K20") = (Range("calcul1!G20").Value / (Tan(Range("calcul1!F20").Value * (p / 200)))) + TextBox36.Value - TextBox37.Value
        End If
     
    hauteur2p.Hide
    Sheets("calcul1").Select
    mais je ne comprends pas j'ai des petits soucis avec les "IF/THEN/ELSE/END IF" VBA ne les accepte pas. pourquoi?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut
    Bon alors je viens de trouver pour le if then else

    mais maintenant j'ai un soucis avec cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          Range("calcul1!H19") = (Range("calcul1!G19").Value + Range("calcul1!G20").Value) / 2
    il me dit erreur d'exécution 13

  5. #5
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    si tu essaye de ne mettre une seule instruction par ligne
    le end if n'est pas nécessaire
    néanmoins pour des raison de lisibilité lors de relecture
    je te conseille plutot d'imbriquer tes condition d'une façon plus conventionnelle
    comme suis

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Dim p As Single
    p = WorksheetFunction.Pi 'permet d'utiliser le nombre pi
     
        If TextBox34.Value = "" Or TextBox35.Value = "" Or TextBox36.Value = "" Or TextBox37.Value = "" Then
            MsgBox "Il manque des informations."
     
        Else 'debut des calculs
            Range("calcul1!D17") = (Range("calcul1!B17").Value + Range("calcul1!C17").Value) / 2
                If Range("calcul1!D17").Value > 400 Then
                    Range("calcul1!D17") = Range("calcul1!D17").Value - 400
                Else
                    Range("calcul1!D17") = Range("calcul1!D17").Value
                End If
            Range("calcul1!E18") = (Range("calcul1!E16").Value + Range("calcul1!D17").Value) - 200
            Range("calcul1!D19") = (Range("calcul1!B19").Value + Range("calcul1!C19").Value) / 2
     
                If Range("calcul1!D19").Value > 400 Then
                    Range("calcul1!D19") = Range("calcul1!D19").Value - 400
                Else
                    Range("calcul1!D19") = Range("calcul1!D19").Value
                End If
     
            Range("calcul1!E20") = (Range("calcul1!E18").Value + Range("calcul1!D19").Value) - 200
            Range("calcul1!H19") = (Range("calcul1!G19").Value + Range("calcul1!G20").Value) / 2
            Range("calcul1!K19") = (Range("calcul1!G19").Value / (Tan(Range("calcul1!F19").Value * (p / 200)))) + TextBox34.Value - TextBox35.Value
            Range("calcul1!K20") = (Range("calcul1!G20").Value / (Tan(Range("calcul1!F20").Value * (p / 200)))) + TextBox36.Value - TextBox37.Value
        End If
     
    hauteur2p.Hide
    Sheets("calcul1").Select

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut
    ok et pour mon problème d'erreur. parce que je ne comprends vraiment pas d'ou cela peut venir

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Pour la ligne :
    Range("calcul1!H19") = (Range("calcul1!G19").Value + Range("calcul1!G20").Value) / 2
    qui provoque une erreur, vérifiez que G19 et/ ou G20 ne contiennent pas du texte ou des valeurs formatées en texte ou que les 2 ne soient pas vides.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut
    non elles contiennent des chiffres. enfin je rentre des chiffres dedans mais voici comment elle sont déclarées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'distance pt1
    Private Sub TextBox36_Change()
    Range("calcul1!G19") = TextBox36
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'distance pt2
    Private Sub TextBox51_Change()
    Range("calcul1!G20") = TextBox51
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Inserer les valeurs d'une user form dans un tableau
    Par ludovicpierre dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/07/2010, 15h08
  2. les users connectés à une base oracle
    Par progima dans le forum Oracle
    Réponses: 8
    Dernier message: 08/11/2005, 17h43
  3. Mes Docs visible de tous les users sous WIN 2000 PRO ???
    Par fute dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 21/08/2005, 12h16
  4. Exporter TOUS les users d'une base
    Par Nullos Oracle dans le forum Oracle
    Réponses: 12
    Dernier message: 13/03/2005, 20h32
  5. [LG]Les pointeurs: Forme en "Anneaux"
    Par k o D dans le forum Langage
    Réponses: 4
    Dernier message: 20/10/2004, 07h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo