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 :

Calculer 2 sommes affichés sur textbox ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut Calculer 2 sommes affichés sur textbox ?

    bonjour,

    je voudrais savoir comment calculer 2 sommes affichés sur 2 textbox en VBA.

    Je suis sur EXCEL2010, j'ai un formulaire avec 1 combobox et 3 textboxs.

    Ma formule:
    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
    Private Sub OK_Click()
    'feuille contenant la valeur à chercher
    With Sheets("tarifs HT")
      'de la ligne 2 à la dernière ligne utilisée de la colonne C
      For i = 3 To .Cells(Rows.Count, 3).End(xlUp).Row
        'recherche de la ligne en colonne A qui correspond à la sélection de la ComboBox
        If .Cells(i, 1) = Me.tarifs Then
          'si oui tarifs = colonne suivante même ligne
          droitentree = .Cells(i, 3)
          'de la colonne A à la dernière colonne de la région courante (on balaie la 1ère ligne à la recherche d'une date)
          For j = 1 To .[a1].CurrentRegion.Columns.Count
            'par défaut, on prend la cotisation colonne 4 ("D")
            cotisationan = .Cells(i, 4)
            'mais si on trouve une date correspondante dans les autres colonnes on écrase la valeur par défaut
            If IsDate(.Cells(1, j)) Then
              'recherche du tarif selon la date
              'on compare la date de début et la date de fin de la période
              If CDate(Me.Datel) >= .Cells(1, j) And CDate(Me.Datel) <= .Cells(2, j) Then
                cotisationan = .Cells(i, j)
                'on ajoute la cotisation avec le droit d'entrée pour le total
     
                Exit For
              End If
            End If
          Next j
          Exit For
        End If
      Next i
    End With
    End Sub
    c'est l'aide que m'a apporté un des membres confirmé du club.

    Je ne sais quoi ajouter avant =sommeprod (cotisationan + droitentree) pour que le total s'affiche dans mon dernier TextBox, qui s'appelle TarifHT.

    Merci de votre aide...

  2. #2
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour,

    Peut-être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TarifHT.Value=(cotisationan.value+droitentree.value)

  3. #3
    Membre expérimenté Avatar de Denis la Malice
    Homme Profil pro
    FabManager
    Inscrit en
    Février 2013
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : FabManager
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2013
    Messages : 133
    Par défaut Faire une somme ... faire un somme ???
    Je ne sais quoi ajouter avant =sommeprod (cotisationan + droitentree) pour que le total s'affiche dans mon dernier TextBox, qui s'appelle TarifHT.
    Où est le "sommeprod" ?
    Le TextBox est-il dans un formulaire ? Doit-il est remplit au moment du Click sur OK ? Y a-t-il un unload du formulaire juste après le Click ?

    Pour calculer une somme, souvent on utilise l'opérateur +

  4. #4
    Membre confirmé
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut
    bonjour,
    Le TextBox est-il dans un formulaire ? Doit-il est remplit au moment du Click sur OK ? Y a-t-il un unload du formulaire juste après le Click ?
    oui, c'est un formulaire, la réponse de NEC14 me renvoie un message d'erreur !

    je vous joint le reste du code :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Private Sub CANCEL_Click()
    Unload Me
    End Sub
    Private Sub OK_Click()
    'feuille contenant la valeur à chercher
    With Sheets("tarifs HT")
      'de la ligne 2 à la dernière ligne utilisée de la colonne C
      For i = 3 To .Cells(Rows.Count, 3).End(xlUp).Row
        'recherche de la ligne en colonne A qui correspond à la sélection de la ComboBox
        If .Cells(i, 1) = Me.tarifs Then
          'si oui tarifs = colonne suivante même ligne
          droitentree = .Cells(i, 3)
          'de la colonne A à la dernière colonne de la région courante (on balaie la 1ère ligne à la recherche d'une date)
          For j = 1 To .[a1].CurrentRegion.Columns.Count
            'par défaut, on prend la cotisation colonne 4 ("D")
            cotisationan = .Cells(i, 4)
            'mais si on trouve une date correspondante dans les autres colonnes on écrase la valeur par défaut
            If IsDate(.Cells(1, j)) Then
              'recherche du tarif selon la date
              'on compare la date de début et la date de fin de la période
              If CDate(Me.Datel) >= .Cells(1, j) And CDate(Me.Datel) <= .Cells(2, j) Then
                cotisationan = .Cells(i, j)
                'on ajoute la cotisation avec le droit d'entrée pour le total
                TarifHT.Value = (cotisationan.Value + droitentree.Value)
                Exit For
              End If
            End If
          Next j
          Exit For
        End If
      Next i
    End With
    End Sub
    
    Private Sub UserForm_Initialize()
    Dim S As Worksheet
    Dim R As Range
    Dim var As Variant
    '--- Monte les données dans la ComboBox ---
    Set S = Sheets("tarifs HT")
    Set R = S.Range("a3:a" & S.[a65536].End(xlUp).Row)
    var = R
    Me.tarifs.List = var
    '-------------
        Datel = Format(Date, "dd/mm/yyyy")
    End Sub
    Il me manque juste cette particularité, la (sommeprod) était une idée, je ne l'avais pas encore enregistrée.

    merci à tous de votre aide.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Quel est le message d'erreur ?

    Essayez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TarifHT.value=val(cotisationan) + val(droitentree)

  6. #6
    Membre confirmé
    Femme Profil pro
    Assistante Développement
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistante Développement
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut calculer 2 sommes dans un TextBox
    bonjour,

    le message d'erreur :
    erreur d'exécution 424 objet requis
    idem avec le code que vous venez de me donner.

    Par contre, j'ai peut être oublié de le déclarer "en variant" peut être ?

    Merci de m'éclairer.

  7. #7
    Membre expérimenté Avatar de Denis la Malice
    Homme Profil pro
    FabManager
    Inscrit en
    Février 2013
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : FabManager
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2013
    Messages : 133
    Par défaut Il faut essayer encore plus simple ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.TarifHT=cotisationan + droitentree

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

Discussions similaires

  1. [Débutant] calculer la somme de deux textbox C# csharp
    Par aspkiddy dans le forum ASP.NET
    Réponses: 23
    Dernier message: 29/06/2011, 19h00
  2. Réponses: 5
    Dernier message: 10/06/2009, 11h59
  3. faire une somme recursive sur 1 colonne sur 2 dates consecutives et l'afficher
    Par 461219 dans le forum Adaptive Server Enterprise
    Réponses: 12
    Dernier message: 24/11/2008, 16h09
  4. calcul de somme sur un cube
    Par kev0631 dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 07/08/2007, 15h10
  5. Colonne de calcul à afficher sur un graph
    Par Hanae dans le forum BIRT
    Réponses: 4
    Dernier message: 16/07/2007, 14h29

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