Macro excel en google sheets

Zerife -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Pouvez-vous m'aider à convertir cette macro :

function
Sub dupliquefeuille()
Dim J As Long
Dim Ws As Worksheet

Application.ScreenUpdating = False
Set Ws = Sheets(Liste des salariés)
For J = 1 To Ws.Range(A & Rows.Count).End(xlUp).Row
If Not FeuilleExiste(Ws.Range(A & J).Value) Then
Sheets(Model Horaire).Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Ws.Range(A & J)
Range(B4) = ActiveSheet.Name
End If
Next J
Ws.Select
End Sub

Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ''
On Error GoTo 0
End Function

merci beaucoup,

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    pour commencer, merci, à l'avenir, d'utiliser les balises de code lorsque tu postes du code sur le forum.
    Explications disponibles ici :
    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    Ensuite, le langage utilisé pour les "macros" googlesheet c'est le Javascript.

    Et enfin, ici on aide... mais on ne le fera pas à ta place.

    Si on reprend chaque étape de ton code on peut se pencher sur :
    Avoir la feuille via son "nom"
    var sheet = SpreadsheetApp.getActive().getSheetByName('Liste des salariés')
    


    Pour boucler sur une plage de cellule, par exemple
    var range = ss.getRange("A1:D4");
    
      for (var i = 0; i < range.length; i++) {
        var currentValue = range[i].getValue();
    
      }
    


    Le mieux.. c'est de découper le "fonctionnement" du code que tu veux réaliser, puis, à l'aide de la documentation, retrouver les instructions qui correspondent.
    par exemple :
    https://developers.google.com/apps-script/reference/spreadsheet/sheet#getRange(String)

    0