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

APIs Google Discussion :

Traduire VBA en JavaScript


Sujet :

APIs Google

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Kiouane
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Par défaut Traduire VBA en JavaScript
    Bonjour à tous,

    J'explique la situation :

    J'ai un code VBA que j'utilisais sous excel mais quand j'ai importé mon fichier sur google doc, j'ai remarqué que les macros VBA doivent être converties manuellement vers Javascript, le langage utilisé par google apps script. Donc je voudrais savoir si possible comment pourrais-je faire pour le code suivant.

    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
    Sub calcul()
     
    Dim f As Long, r As Long, C As Long, J As Long
     
    f = ActiveCell.Row
    r = Cells(f, 3).Value
     
    C = 0
    J = 0
    i = f
     
    If Not IsEmpty(Cells(i - 1, 4)) Then
     
         If IsNumeric((Cells(i - 1, 4))) Then
     
     
               Do Until C + Cells(i, 4).Value >= r
               C = C + Cells(i, 4): Cells(f, 14) = C
               i = i - 1
               J = J + 1
               If Not IsNumeric(Cells(i, 4)) Then
               Exit Do
               End If
               Loop
     
     
               Cells(f, 18) = J
               X = f - J
               Cells(f, 19) = X
     
     
                      MsgBox "Données historiques insuffisantes"
    C'est juste une partie de mon code mais si j'arrive à modifier ceci en javascript je pourrais le faire pour le reste.


    Merci à vous,

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    la documentation Class Sheet devrait t'aider pour cela.

  3. #3
    Membre chevronné Avatar de Kiouane
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Par défaut
    Merci pour ta réponse. Mais j'y étais déjà et je suis entrain de traduire mon code step by step.

    Voilà ce qu'il en est pour le moment :

    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
     
    function myFunction() {
     
      var ss = SpreadsheetApp.getActiveSpreadsheet();
     
      var sheet = ss.getSheetByName("Feuille 1");
     
      var active = sheet.getActiveCell();
     
      var f = active.getRowIndex();
     
      var values = [   [ f ] ];
     
      var r= sheet.getRange(f,3);
     
     
      var val = [ [r]];
     
      var test = sheet.getRange(5,5);
     
      //Injecter la valeur de la cellule(f,3) dans la cellule(5,5)
      test.setValues(val);
     
    }
     
     
     
    }
    Ca me retourne "Range" au niveau de la cellule (5,5) alors que j'ai la valeur "400" dans la cellule (f,3).

  4. #4
    Membre chevronné Avatar de Kiouane
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Par défaut
    J'ai trouvé pour cette partie du code. J'ai fait comme suit :

    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
    function myFunction() {
     
      var ss = SpreadsheetApp.getActiveSpreadsheet();
     
      var sheet = ss.getSheetByName("Feuille 1");
     
      var active = sheet.getActiveCell();
     
      var f = active.getRowIndex();
     
      var values = [   [ f ] ];
     
      var r= sheet.getRange(f,3);
     
      var j= r.getValues();
     
     
      var val = [ [j]];
     
      var test = sheet.getRange(5,5);
     
      //Injecter la valeur de la cellule(f,3) dans la cellule(5,5)
     
     test.setValues(j);
     
     
     
    }

    Maintenant pour le bloc if et do pour des cellules à incrémenter je cherche comment faire.

  5. #5
    Membre chevronné Avatar de Kiouane
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Par défaut
    J'en suis à la partie Do until et j'ai fait le code suivant :

    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
     
          var i = f
     
          var cellule = sheet.getRange(i,4).getValues();
     
          var C = 0
     
          do {
     
            C = C + cellule;
            var destination = sheet.getRange(f,14);      
            destination.setValue(C);
            i = i-1;
     
             }while (C + cellule <= r);
    Sur la cellule (f,3) j'ai la valeur 200, et sur les cellules (f,4), (f-1,4), (f-2,4) j'ai respectivement 300, 50, 100.
    Mais le code continue à tourner en vain.

  6. #6
    Membre chevronné Avatar de Kiouane
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Par défaut
    J'ai réussi grâce à l'aide d'une personne. Ce que je voudrais savoir c'est : Comment affecter un format de chiffre à 1 décimale en script.

    C'est bon je peux faire ça juste grâce à l'onglet format et après le calcul avec mon script ça se met au bon format automatiquement.

    Merci.

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

Discussions similaires

  1. VBA/IE/Javascript KO pb Maj IE9 et/ou MAJ de Site ?
    Par Gorzyne dans le forum Excel
    Réponses: 0
    Dernier message: 26/02/2013, 18h28
  2. [Toutes versions] Basculer valeur variable VBA dans JavaScript
    Par Antho87 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/08/2009, 15h27
  3. Comment traduire ca en JavaScript
    Par pasdeprisedetete dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 26/04/2007, 12h39
  4. [RegEx] Traduire des "expression régulières" VBA en PHP
    Par jcachico dans le forum Langage
    Réponses: 13
    Dernier message: 19/01/2006, 14h02
  5. [VBA-E]Pouvez vous me traduire ceci svp ?
    Par jcachico dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/01/2006, 13h45

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