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:
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,
traduction VBA en Java script
Bonjour Kiouane, mon entreprise vient de passée tout ses fichier d'EXCEL a GOOGLE du coup toutes les macros utilisées ne fonctionne plus j'ai bien essayé de retranscrire et de déchiffrer mais je ne suis pas douée du coup je n'y arrive pas. :(
Je ne voudrais pas publier un autre message du même type mais je cherche quelqu'un qui pourrais m'aider a traduire entre le langage VBA et Editeur script .
Voici le code de la macro si jamais y a un moyen de m'aider et merci d'avance a celui ou celle qui me répondra :D
Code:
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
| Sub COPIE_DES_DONNEES()
'Définition des variables
Dim base As Worksheet, Cell As Range, NoCol As Integer
Dim NoLig As Long, DerLig As Long, Var As Variant
Dim DerLigVar As Long, DerLigRes As Long
'Feuille comprenant la liste des pages à traiter avec la macro (PA, PB, etc.)
'Les noms de feuilles doivent être inscrits dans la colonne A sans cellule vide.
Set base = Worksheets("FEUILLES_A_TRAITER")
'Récupération du numéro de la dernière ligne de "FEUILLES_A_TRAITER"
DerLig = Split(base.UsedRange.Address, "$")(4)
'Dans "FEUILLES_A_TRAITER", on ne va parcourir que la première colonne (colonne A)
NoCol = 1
'Création d'une boucle pour traiter toutes les pages référencées dans "FEUILLES_A_TRAITER"
For NoLig = 1 To DerLig
'Page à traiter
Var = base.Cells(NoLig, NoCol)
'Récupération de la dernière ligne de la page à traiter
DerLigVar = Sheets(Var).Range("A65536").End(xlUp).Row
'Récupération de la ligne où coller les données dans la feuille "résumé".
DerLigRes = Sheets("résumé").Range("A65536").End(xlUp).Row + 1
'Copie des données de la page à taiter
ActiveWorkbook.Worksheets(Var).Range("A13:F" & DerLigVar).Copy
'Collage des données dans la feuille "Résumé". Collage spécial pour avoir les valeurs.
ActiveWorkbook.Worksheets("résumé").Range("A" & DerLigRes).PasteSpecial Paste:=xlPasteValues
'On traite la prochaine page
Next
Set base = Nothing
End Sub |