Comment désactiver la possibilité d'insérer des lignes et des colonnes dans Excel ?
Normalement, nous pouvons insérer rapidement et facilement des lignes et des colonnes entre les données existantes. Si vous souhaitez empêcher d'autres personnes d'insérer des colonnes ou des lignes dans une feuille de calcul, vous pouvez peut-être protéger la feuille pour désactiver la fonction d'insertion de lignes ou de colonnes. Mais comment désactiver la fonction d'insertion de lignes et de colonnes sans protéger la feuille ?
Empêcher d'autres personnes d'insérer des lignes et des colonnes avec un code VBA
Empêcher d'autres personnes d'insérer des lignes et des colonnes avec un code VBA
Le code VBA suivant peut vous aider à désactiver la fonction d'insertion de lignes et de colonnes dans un classeur Excel, veuillez procéder comme suit :
1. Appuyez sur Alt + F11 pour ouvrir une fenêtre Microsoft Visual Basic for Applications.
2. Cliquez sur Insérer > Module pour ouvrir une fenêtre Module, puis copiez le code VBA suivant dans cette fenêtre.
Code VBA : empêcher l'insertion de lignes et de colonnes :
Sub NoInsert()
'Updateby Extendoffice
Dim I As Integer
Dim cbStr As String
Dim cbCtrl As CommandBarControl
Application.ScreenUpdating = False
For I = 1 To 2
If I = 1 Then
cbStr = "row"
Else
cbStr = "column"
End If
For Each cbCtrl In Application.CommandBars(cbStr).Controls
If cbCtrl.ID = 3183 Then
cbCtrl.Enabled = False
End If
Next
Next
Application.ScreenUpdating = True
End Sub
3. Appuyez sur la touche F5 pour exécuter ce code. Maintenant, lorsque vous faites un clic droit pour insérer des lignes ou des colonnes, l'option Insérer ne sera pas disponible dans le menu contextuel. Voir capture d'écran :
Remarques :
1. Ce code VBA désactivera la fonction Insérer dans le menu contextuel de tous les classeurs lorsque vous cliquez avec le bouton droit pour insérer des lignes ou des colonnes.
2. Pour restaurer la commande Insérer dans le menu contextuel, veuillez appliquer le code suivant :
Sub NoInsert()
'Updateby Extendoffice
Dim I As Integer
Dim cbStr As String
Dim cbCtrl As CommandBarControl
Application.ScreenUpdating = True
For I = 1 To 2
If I = 1 Then
cbStr = "row"
Else
cbStr = "column"
End If
For Each cbCtrl In Application.CommandBars(cbStr).Controls
If cbCtrl.ID = 3183 Then
cbCtrl.Enabled = True
End If
Next
Next
Application.ScreenUpdating = True
End Sub
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !