Convertir une macro Excel pour Google Sheets + Protection de cellule
Bonjour,
1 - J'ai besoin de convertir un fichier Excel en Google Sheets (que je découvre aujourd'hui) et ma macro Excel ne fonctionne plus une fois la conversion faite.
Pourriez-vous m'aider à convertir la macro ci-dessous ? :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lignes As String
On Error GoTo Sortie
If Not Intersect(Target, Range("B10")) Is Nothing Then
Application.EnableEvents = False
Cells.EntireRow.Hidden = False
If Target.Value < 10 Then
Lignes = 16 + ((Target.Value - 1) * 5) & ":" & 60
Rows(Lignes).EntireRow.Hidden = True
End If
End If
Sortie:
Application.EnableEvents = True
End Sub2 - D'autre part, sur Google Sheets, je ne trouve pas la fonction qui permet de protéger certaines cellules comme ci-dessous dans Excel :
Cette fonction est-elle disponible sur Google Sheets ?
Merci d'avance pour votre aide et bonne journée !
Bonjour !
1- Pour convertir une macro Excel > Google Sheets l'IA s'en sort généralement bien, essayez ceci :
function onEdit(e) {
const sheet = e.source.getActiveSheet();
const range = e.range;
if (sheet.getName() === "Sheet1" && range.getA1Notation() === "B10") { // Replace "Sheet1" with your sheet name
const value = range.getValue();
const rows = sheet.getRange("1:100"); // Adjust the range as needed
rows.showRows(1, rows.getNumRows()); // Unhide all rows
if (value < 10) {
const startRow = 16 + ((value - 1) * 5);
const endRow = 60;
sheet.hideRows(startRow, endRow - startRow + 1);
}
}
}Si cela ne marche pas, expliquez ce que fait votre macro.
2- il faut aller dans le menu Données > Protéger des feuilles et des plages
Cela va ouvrir un menu latéral à droite, là vous cliquer sur "+ Ajouter une feuille ou une plage"
Et vous pouvez protéger une plage spécifique de cellule.