Insertion formule VBA Excel dans sheets

Bonjour,

J'ai un fichier sous excel avec plusieurs formules VBA, que je souhaiterais intégrer sous SHEETS pour pouvoir l'utiliser sur plusieurs PC en même temps.

Cela est il possible car quand j'intègre mon fichier Excel, cela ne fonctionne pas (ci joint mon fichier de test)

Merci pour vos aides

Bonjour,

GAS (Google Apps Script)et VBA(Visual Basic for Applications) sont deux langages différents et ils ne fonctionnent pas ensembles.

Si vous avez plusieurs PC, Google Sheets permet de travailler à plusieurs sur le même classeur.

Avec un peu d'expérience les macros VBA que vous utilisez sur le fichier Excel sont assez faciles à convertir en GAS

Salutations

Bonjour,

Merci pour votre retour, je ne maitrise pas ce language, désolé.

Comment est il possible de transformer ce language. Est ce simple?

En effet le but étant de travailler à plusieurs sur ce fichier

Si vous avez appris le VBA de Microsoft et bien il faut apprendre le GAS de Google qui est un dérivé du javascript

pour apprendre il y a des livres ou des sites (pas beaucoup en français mais avec Google translate de Chrome ça va bien ;-))

il y a des tutoriels sur le Web un exemple ici

Bonjour,

J'ai un script mis en place dans google sheet, qui ne fonctionne plus, et je n'arrive pas à trouver son problème.

function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('>>Action<<') .addItem('Transfert', 'transfert') .addItem('Retour', 'retour') .addToUi();}var doc = SpreadsheetApp.getActiveSpreadsheet();function transfert(){ if (doc.getActiveSheet().getName() == 'PIECES EN ATTENTE DE LIVRAISON') { Browser.msgBox('Vous n\'êtes pas sur la bonne feuille pour effectuer cette opération !'); }else{ change(doc.getActiveSheet(),'transfert'); }}function retour(){ if (doc.getActiveSheet().getName() != 'PIECES EN ATTENTE DE LIVRAISON') { Browser.msgBox('Vous n\'êtes pas sur la bonne feuille pour effectuer cette opération !'); }else{ change(doc.getActiveSheet(),'retour'); }}function change(depuis,cas){ var derLDe = premLigneVide(depuis); for (var i=derLDe; i>1; i--){ if (depuis.getRange("H" + i).getValue()){ var flag = true if (cas == 'transfert'){ var f = 'PIECES EN ATTENTE DE LIVRAISON' } else if (cas == 'retour'){ var f = depuis.getRange("I" + i).getValue() } try{ var jusque = doc.getSheetByName(f) jusque.insertRowBefore(2); depuis.getRange("H" + i).setValue('false'); var plage = depuis.getRange('A' + i + ':H' + i); plage.copyTo(jusque.getRange('A' + 2), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false); jusque.getRange('I'+2).setValue(depuis.getName()) depuis.deleteRow(i); } catch(e){ Browser.msgBox('Retour impossible, vérifier le nom de la feuille origine en colonne I !') } } }}function premLigneVide(f) { var col = 'A'; var valeurs = f.getRange(col + ':' + col).getValues().join().split(","); var vide = valeurs.indexOf("") + 1; // indexOf commence à 0 et les lignes à 1 return vide;

est ce qu'une personne arriverait àme dépanner.

Merci

Bonjour,

Votre script est difficilement lisible et de ce que je vois il y a beaucoup de fonctions, il pourrait sans doute être simplifié, pouvez-vous recoller votre code en utilisant la balise "Code" lorsque vous faites votre message + indiquer quel message d'erreur s'affiche sur Google apps script ?

Bonjour,

Merci bcp pour votre rapide retour.

J'ai finalement trouvé (en creusant un peu plus)

Une case avait été modifiée dans mon fichier de base. Voila la raison.

Merci encore pour votre retour

A bientot

Magali

Rechercher des sujets similaires à "insertion formule vba sheets"