Macro excel en google sheets [Fermé]

Signaler
-
Messages postés
32049
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 avril 2021
-
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

Messages postés
32049
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 avril 2021
3 388
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)