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 :

variables de différents types


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut variables de différents types
    Bonjour , j'ai 3 variables 2 de types numériques et une de type chaine et que je pose comme condition :

    si x = coucou OU que y = coucou OU que z = coucou ( coucou étant une valeur de type string )

    et que je veux faire une opération sur les 2 variables numériques ( mais ici on sait pas si c'est x y ou z les variables de types numériques ) , comment je peux faire ?

    merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut
    en gros comment traduire en langage VBA : les variables de type numérique ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut
    regardez j'ai cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ElseIf (x = "coucou") Or (y = "coucou") Or (z = "coucou") Then
            rrr =
    la variable rrr doit etre égale par exemple à la multiplication des 2 variables numériques vous voyez ce que je veux dire ? mais on sait pas ( à cause des OU ) quelles sont les 2 variables numériques ...

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 198
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    rrr=0
    if isnumeric(x)=true then rrr=x
    if isnumeric(y)=true then rrr=rrr+y
    if isnumeric(z)=true then rrr=rrr+z
    Je pense que c est ca que tu cherchai si j ai bien compris

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut
    non pas du tout lol

  6. #6
    Membre confirmé
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    198
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 198
    Par défaut
    Citation Envoyé par Maxence45 Voir le message
    non pas du tout lol
    J ai relu ta question et je comprend toujours la meme chose...
    A par le fait que ce soit une multiplication mais le principe reste le meme...

    Enfin si tu peux présiser un peu?!

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Par défaut
    je crois que j'ai précisé au maximum , imagine 3 cellules de excel , toutes sur la meme ligne , 1 de ces cellules contient du texte , les 2 autres une valeur numérique , et tu dois écrire une fonction qui renvoit la moyenne des 2 numériques si l'une des 3 cellules contient une valeur de type chaine , comment tu fais vu qu'à la base tu sais pas dans quelles cellules sont les valeurs numériques ....

    on écrit donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ElseIf (x = "coucou") Or (y = "coucou") Or (z = "coucou") Then
            rrr =
    mais dans le rrr = je dois écrire la moyenne des 2 , mais je ne peux ni écrire (x+y) / 2 , ni (x+z) / 2... vu que je sais pas si c'est x , y ou z les porteurs de valeurs numériques , tu vois ce que je veux dire ?

    merci de pas poster de code tout fait sinon je progresse pas .

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    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
    Function MoyenneDesNumeriques(ByRef vTableau() As Variant) As Variant
    ' Cette fonction renvoit la moyenne des numériques présents dans le tableau
    '       vTableau.  Elle renvoit Null si aucun numérique n'est présent dans le
    '       tableau.
        Dim vSomme As Variant
        Dim lTotal As Long
        Dim lb As Long
        Dim ub As Long
        Dim i As Long
     
        lb = LBound(vTableau)
        ub = UBound(vTableau)
     
        For i = lb To ub
            If IsNumeric(vTableau(i)) Then
                vSomme = vSomme + 1
                lTotal = lTotal + vTableau(i)
            End If
        Next i
     
        If lTotal = 0 Then
            MoyenneDesNumeriques = vSomme / lTotal
        Else
            MoyenneDesNumeriques = Null
        End If
    End Function
    Envoyé par Maxence45:

    merci de pas poster de code tout fait sinon je progresse pas .
    Désolé pour le code tout fait, mais c'est plus long et difficile à expliquer et tu as le droit de progresser grâce à la connaissance des autres. T'as pas à réinventer la roue à chaque fois; t'as seulement qu'à comprendre le principe de fonctionnement.

Discussions similaires

  1. Tableaux avec différents types de variables
    Par Pulpe_de_Citron dans le forum Débuter
    Réponses: 5
    Dernier message: 06/05/2015, 12h00
  2. Réponses: 3
    Dernier message: 20/03/2010, 16h21
  3. Réponses: 23
    Dernier message: 05/02/2010, 10h38
  4. [LG]Problême Variable dynamique de types différents
    Par pierrOPSG dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2004, 16h01
  5. Réponses: 4
    Dernier message: 05/06/2002, 14h35

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