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 :

Adapter une macro VBA sur une google sheet


Sujet :

Macros et VBA Excel

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Points : 394
    Points
    394
    Par défaut Adapter une macro VBA sur une google sheet
    Bonjour à tous,

    Je voudrais en fait adapter cette procédure à une google sheet.

    La procédure sur Excel je l'affecte à un bouton sur lequel je clique pour faire un calcul.

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    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
     
                   If IsNumeric(Cells(X, 4)) Then
     
                      Cells(f, 15).Value = Cells(f, 14).Value + Cells(X, 4).Value
     
                   Else
     
                      MsgBox "Données historiques insuffisantes"
                      Cells(f, 15) = Cells(f, 14) * (J + 1) / J
                      Cells(f, 11).Interior.Color = RGB(255, 165, 0)
                   End If
     
               Cells(f, 14).EntireColumn.Hidden = False
               Cells(f, 15).EntireColumn.Hidden = False
               Cells(f, 16) = Cells(f, 3) / (Cells(f, 15) / (J + 1))
               Cells(f, 16).EntireColumn.Hidden = False
     
     
               Cells(f, 11) = Cells(f, 16)
     
          Else
     
               MsgBox "Données historiques insuffisantes"
     
               Cells(f, 11).Interior.Color = RGB(255, 165, 0)
               Cells(f, 11) = Cells(f, 3) / Cells(f, 4)
          End If
     
    Else
     
        MsgBox "Données historiques insuffisantes"
        Cells(f, 11).Interior.Color = RGB(255, 165, 0)
        Cells(f, 11) = Cells(f, 3) / Cells(f, 4)
     
    End If
     
     
     
    End Sub

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    cela n'est pas si simple que de l'écrire apparemment : http://stackoverflow.com/questions/2...le-spreadsheet

    tu trouveras dans le lien une personne qui présente une macro VBA et souhaite la mettre sous Google Sheet.
    un contributeur lui donne un exemple et on voit bien que c'est le jour et la nuit côté lignes de codes

    c'est plutôt du côté des forums ayant traits aux Google Sheet qu'il faut se tourner je pense

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Bonjour,

    un code VBA Excel ne fonctionnant donc que dans Excel … Voir donc dans un forum Google !



    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Points : 394
    Points
    394
    Par défaut
    Merci à vous pour vos réponses.
    Je vais essayer une autre question, comment pourrais-je écrire cette procédure sous forme de fonction?
    Je pense que ça pourrait être la solution.

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Une fonction, c'est encore un code VBA, donc même problème !

    Documente-toi sur le langage utilisé dans Google, GAS je crois bien …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Points : 394
    Points
    394
    Par défaut
    Oui tu as parfaitement raison. Mais d'après ce que j'ai vu sur les forums google. Le script prends en compte que des fonctions. C'est pour cela que je crois que ça serait un bon début de pouvoir mettre ma procédure sous forme de fonction.

  7. #7
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Sous Excel, une fonction personnalisée retourne une donnée dans la cellule appelante
    sans pouvoir modifier aucune autre cellule, ce qui n'est pas du tout le cas du code présenté !

    Mieux vaut ouvrir une discussion sur un forum dédié à ton application …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Points : 394
    Points
    394
    Par défaut
    D'accord.

    Merci pour l'échange cordial.

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu
    bonjour
    il me semble que la proposition dans stackoverflow est du JavaScript j'en conclu donc que les google sheet ne sont que des documents html remplis d'une balise "table"

    il serait intéressant aussi de visiter le forum javascript qui est certainement plus approprié a ton exercice du moins je crois
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. [XL-2010] Exécution d'une macro VBA sur feuilles et données verrouillées
    Par lysere dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2014, 14h05
  2. étendre la "zone d'action" d'une macro VBA sur excel
    Par Harkneys dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/01/2014, 10h10
  3. execution d'une macro VBA sur un autre ficheir excel
    Par Mickael Scofild dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/09/2009, 17h24
  4. VBA : problème sur une macros basé sur un SI
    Par PeaceMaker dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/04/2009, 22h54
  5. Réponses: 2
    Dernier message: 05/03/2009, 17h43

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