Syntaxe

Résolu
Bonjour,

comment on écrit: "de la forme Mbps" en vba, je veut tester si la valeur de la cellule est en Mbps ou en Kbps
Merci !

7 réponses

  1. Merci beaucoup Eric
    1. Contributeur
      ok, je met en résolu pour toi (en haut vers ton titre, pour la prochaine fois)
      eric
  2. Contributeur
    Re,

    avec une fonction personnalisée à mettre dans un module standard :
    Function Mbps(cel As Range) As Double
        Mbps = Split(IIf(Application.International(xlDecimalSeparator) = ".", Replace(cel, ",", "."), cel), " ")(0)
        If LCase(Right(cel, 4)) = "kbps" Then
            Mbps = Mbps / 1000
        ElseIf LCase(Right(cel, 4)) = " bps" Then
            Mbps = Mbps / 1000000
        End If
    End Function

    Syntaxe :
    =mbps(C2)
    https://www.cjoint.com/c/CCAl1VIwKwL

    eric
    1. Contributeur
      Bonjour,

      Incompréhensible et rien à voir avec la question de départ.
      Déposer le fichier xls (réduit au nécessaire et anonymisé, avec les explications et le résultat attendu) sur cjoint.com et coller ici le lien fourni.

      eric

      1. Pour mieux t'expliquer mon problème, voici le tableau que j'utilise, et je veux crée un macro pour convertir toutes les valeurs en Kbps et bps en Mbps
        formule:
        Kbps: /1000
        bps: /1000000
        et je multiplierais les valeurs obtenues par la colonne D
        International link Numero Interface Receive Valeurs allouéés Pourcentage
        Level3 London utilization 95th Percentile 404 Mbps 700
        TH2 utilization 95th Percentile 65 Kbps 144
        BICS1 utilization 95th Percentile 120 Mbps 150
        BICS2 utilization 95th Percentile 128 Mbps 150
        BICS3 utilization 95th Percentile 127 Mbps 150
        MX Paris - Tulear utilization 95th Percentile 109 Mbps 144
        MX London - Tulear utilization 95th Percentile 516 Mbps 560
        FranceIX utilization 95th Percentile 33,8 Kbps 1000
        LINX utilization 95th Percentile 471 Mbps 1000
        désolé pour le desordre
        Merci
        1. Merci beaucoup, est-ce que tu peu m'aider pour tester si la valeur dans la cellule est en Kbps, alors on la convertie en divisant par mille cette valeur et par 1000000 si la valeur est en bps!
          Cordialement
          1. Contributeur
            Bonsoir,

            Vu le peu d'éléments que tu fournis on va supposer que tu as mis un format personnalisé dans la cellule...
            If InStr([A1].NumberFormat, "Mbps") > 0 Then 
                MsgBox "format Mbps" 
            ElseIf InStr([A1].NumberFormat, "Kbps ") > 0 Then 
                MsgBox "format Kbps" 
            Else 
                MsgBox "format inconnu" 
            End If

            eric

            Jamais tu ne répondras à un mp non sollicité...
            Bon, ça c'est fait.