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 :

VBA dans Google Drive


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2019
    Messages : 41
    Par défaut VBA dans Google Drive
    Bonjour à tous,

    Je dispose de deux workbooks Excel dans Google Drive.

    Le premier est visible par des clients + mon équipe.
    Le deuxième seulement par mon équipe.

    Les clients éditent le premier.

    Je souhaiterais, via VBA, que lorsqu'ils l'éditent, cela édite le second automatiquement.

    Est-ce possible ? De quelle manière ?
    Si ce n'est pas possible, auriez-vous une idée de ce que je pourrais mettre en place ?

    Merci beaucoup.

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Une piste serait peut-être d'utiliser Power Query, tout dépend ce que tu entends par "Editer". Si les utilisateur renseignent juste une base de donnée, ça pourrait correspondre à ton besoin, s'ils modifient la structure du fichier (nouveaux onglets, ajout d'objets, données à des endroits disparates,...) là ça ne correspondra pas.

    Peut-être devrais tu expliquer un peu plus comment fonctionne ton ensemble de fichier

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2019
    Messages : 41
    Par défaut
    Salut Qwaz et merci pour ta réponse.

    Pour l'instant a été mise en place la solution Google Drive avec deux fichiers Excel où tous les matins il faut créer un nouvel onglet dans chacun à la date du jour où l'on duplique la feuille (vidée) de la veille, et où les clients remplissent, au fur et à mesure de la journée, la première pour nourrir la seconde (de manière manuelle !!! Il faut sans cesse tout recopier sans faire d'erreur c'est pénible !), et moi je rentrer in fine les éléments de la seconde dans un autre tableur situé sur mon ordi.

    C'est ridicule mais ça fonctionne. Mais ça nous fait perdre un temps phénoménal.


    Une solution pourrait être de passer par Google Sheets pour passer d'un tableur (1) à un autre (2) sur le Google Drive, mais lorsque je devrai (automatiquement) récupérer les données de la feuille (2, Google Sheets) sur ma feuille (3, Excel) situé sur mon disque dur interne (automatiquement), j'ai bien peur de rencontrer à nouveau un problème : est-il possible de récupérer les informations contenues dans une Google Sheet à partir d'une macro VBA située dans un fichier Excel situé sur mon ordi ?
    
    En vérité toute solution (autre que le drive, avec Google Sheets ou Excel) peut être envisagée. L'essentiel étant que les clients puissent nous renseigner au fur et à mesure de la journée quelques informations qui doivent nourrir automatiquement en bout de chaîne un fichier Excel situé sur mon bureau.

    La solution Drive a été mise en place temporairement pour palier notre besoin immédiatement.

    Je cherche une solution simple.

    Merci beaucoup.

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Alors, je ne suis pas sûr d'avoir complètement compris ta demande alors ma réponse sera peut-être à ajuster...
    Voila comment je procéderais

    Disons que tu as un fichier distant accessible par tes clients. Dans ce fichier, ils saisissent les données dans un formulaire (soit une feuille, ou "mieux" un UserForm). Ces données sont placées dans une feuille sous forme d'un tableau structuré, les unes à la suite des autres jour après jour. Dans ce même fichier, tu peux ajouter un onglet visible (la base global étant sur un onglet masqué) par tes clients et qui synthétise les données pour la journée en cours (à base de TCD connecter au tableau structuré et filtré sur la journée).

    Ensuite ton fichier local récupère les données va une liaison Power query (à voir si la connexion au drive est possible mais je ne vois pas pourquoi ça ne le serait pas, il est possible de la faire sur des sharepoints à ce que j'en ai lu).
    Quand tu veux rapatrier les données, tu fais une mise à jour de la connexion pour synchronisées les données du fichier distant sur ton post.
    J'ai un compte google, je pourrais faire un essai de connexion entre deux fichiers si tu as besoin.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2019
    Messages : 41
    Par défaut
    Salut Qwaz,
    merci pour ta réponse, c'est sympa
    ça me paraît cependant quelque peu alambiqué
    je me dis qu'on ferait peut-être mieux de passer par un système de dossier partagé intra entreprise
    dès lors qu'ils éditent quelque chose, une sub vba sur leur fichier Excel modifie directement le mien qui en modifiera d'autres
    l'idée du userform est assez user friendly, je tâcherai d'y penser bien que ça n'accélèrera ni ne simplifiera quoi que ce soit
    bref, merci pour tout l'ami
    ++

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 299
    Par défaut Copie pour l'équipe
    Il est possible qu'en cas de modification par le client sur son workbook, les modifs soient copiés dans celui de l'équipe

    Cell A1: Sheet & Cell Reference
    Cell B1: Changed To
    Cell C1: User
    Cell D1: Date & Time

    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
    Private Sub Workbook_Open()
    Sheets(“LogDetails”).Visible = xlSheetVeryHidden
    End Sub
     
    Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    If Sheets(“LogDetails”).Visible = xlSheetVisible Then
        Sheets(“LogDetails”).Visible = xlSheetVeryHidden
    Else
        Sheets(“logDetails”).Visible = xlSheetVisible
    End If
    Target.Offset(1, 1).Select
    End Sub
     
     
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If ActiveSheet.Name <> “logDetails” Then
        Application.EnableEvents = False
        Sheets(“LogDetails”).Range(“A” & Rows.Count).End(xlUp).Offset(1, 0).Value = ActiveSheet.Name & “-” & Target.Address(0, 0)
        Sheets(“LogDetails”).Range(“A” & Rows.Count).End(xlUp).Offset(0, 1).Value = Target.Value
        Sheets(“LogDetails”).Range(“A” & Rows.Count).End(xlUp).Offset(0, 2).Value = Environ(“username”)
        Sheets(“LogDetails”).Range(“A” & Rows.Count).End(xlUp).Offset(0, 3).Value = Now
        Sheets(“LogDetails”).Columns(“A:D”).AutoFit
        Application.EnableEvents = True
    End If
    End Sub
    Les modifications sur les cellules sont journalisées dans la feuille cachée Sheets(“LogDetails”)


    Donc vous avez le choix soit de les appliquer dans les cellules de destinations du classeur de votre équipe , en fonction de votre gestion,.....
    on peut imaginer une macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    sub replication () 
    dim col, li as integer 
    dim sheetname, adresse  as variant 
    workbook("Destination"). open 
    'Activation Sheets(“LogDetails”)
    Sheets(“LogDetails”).select 
    For li = 2 to Sheets(“LogDetails”).Range("A" & Rows.Count).End(xlUp).Row
        sheetname  = mid(cell(li,1).value , 1,instr("_",cell(li,1))-1)
        adresse = mid(cell(li,1).value , instr("_",cell(li,1)+1, len (cell(li,1))
        worbook("Destination").range(adresse).value = thisworkbook.Sheets(“LogDetails”).cells(li,2).value 
    next li 
    end sub
    Voilà l'idée, on peut aussi rajouter les couleurs , la typo .... je vous laisse chercher.. Si vous ne voulez pas garder les modifs de votre équipe , vous pouvez simplement écraser le classeur de votre équipe avec un saveas et le nom du classeur dans la directory adhoc

  7. #7
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Au boulot nous avons migré sur Office 365, je regarde en ce moment pour l'utilisation des solutions "Power" (Power Apps, Power Automate, sharepoint,...), je n'ai pas tout utilisée... loin de là mais il y a des trucs qui semblent plutôt intéressant. A tous hasard, ton entreprise n'a pas des comptes qui te permettraient d'y avoir accès? Je n'ai fait que survoler mais ça semblerait plutôt en corrélation avec ta recherche.

    Et sinon, je ne pense pas que ma solution soit alambiquée

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. [Google Sheets] Déverser VBA dans Google Sheet
    Par 2015-1158 dans le forum APIs Google
    Réponses: 0
    Dernier message: 24/10/2019, 16h08
  2. upload de fichier sur google drive dans une application windows
    Par loustalet dans le forum Développement Windows
    Réponses: 2
    Dernier message: 06/10/2018, 10h02
  3. filtrer, trier et afficher les dix meilleurs dans google drive
    Par chrisg49410 dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 18/11/2017, 12h56
  4. Script enregistrer dans un dossier google drive
    Par MicropicGo dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 09/10/2017, 21h54
  5. Lire un fichier txt stocké dans google drive avec les API Google
    Par tigunn dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 12/04/2016, 14h46

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