Empêcher d'inser une ligne

  • Initiateur de la discussion lesuisse
  • Date de début
L

lesuisse

Guest
Bonjour, Grüetzi à toutes et à tous...

J'ai une feuille Excel dans laquelle j'aimerais que les utilisateurs n'insèrent aucune ligne sinon tout se casse la figure.

En fait, je souhaiterais qu'un message s'affiche lorsque quelqu'un tente d'insérer une ligne ou une colonne d'ailleurs...

Merci, bcp pour votre aide.

Lesuisse pas trop suisse aujourd'hui...
 
P

PhiBou

Guest
Bonjour lesuisse, le Forum

Une événementielle qui avertit lorsqu'on sélectionne une ligne/colonne
pour faire une insertion... à voir...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sel = Target.Address
Point = InStr(1, Sel, ":")
If Point <> 0 Then
If Left(Sel, Point - 1) = Right(Sel, Len(Sel) - Point) Then
MsgBox "Attention l'insertion de ligne/colonne est interdite"
End If
End If
End Sub

Bonne journée

PhiBou
 
S

sousou

Guest
Bonjour
Peut-être que tu peux utiliser la gestion des menus pour interdir les insertions.

Ragarde ce code qui modifie la bar de commande "standard" et les menus contextuels ligne et colonne
Le principe reste simple en mettant ce type de code à l'ouverture, tu autorise ce que tu veux.

Sub test()
Set mescontrol = CommandBars("Cell").Controls
For Each i In mescontrol
'MsgBox i.Caption
Select Case i.Caption
Case Is = "&Insérer..."
i.Enabled = False
Case Is = "&Supprimer..."
i.Enabled = False
End Select
Next

Set mescontrol = CommandBars("Row").Controls
For Each i In mescontrol
' MsgBox i.Caption
Select Case i.Caption
Case Is = "&Insertion"
i.Enabled = False
Case Is = "&Supprimer..."
i.Enabled = False
End Select
Next

Set mescontrol = CommandBars("column").Controls
For Each i In mescontrol
' MsgBox i.Caption
Select Case i.Caption
Case Is = "&Insertion"
i.Enabled = False
Case Is = "&Supprimer"
i.Enabled = False
End Select
Next

Set mescontrol = CommandBars(1).Controls
For Each i In mescontrol
Set mesboutons = i.Controls
For Each c In mesboutons
Select Case c.Caption
Case Is = "&Lignes"
c.Enabled = False
Case Is = "C&olonnes"
c.Enabled = False
End Select
Next
Next
End Sub
 
L

lesuisse

Guest
Salut sousou, le fil, le forum...

Sorry, mais je n'ai pas compris ton idée... et encore moins les codes !!!
Pourrais-tu être plus précis s'il te plait ?
Je te remercie beaucoup...

lesuisse sans être trop suisse
 
L

lesuisse

Guest
Salut Jean-Marie, le fil, le forum, les suisses,

Impossible de protéger la feuille puisque des données doivent être insérées dans certaines cellules.
Voilà le souci !!!!!!!
Merci quand même...

lepetitsuisse
 
J

Jean-Marie

Guest
Re

Par défaut les cellules des feuilles sont "verrouillées" par excel, quand tu protèges la feuille, il n'y a plus une seule cellule saisissable.

1) Sélectionne toutes les cellules qui pourront être saisie par l'opérateur,
2) Clique sur le Menu Format/cellules...
3) Dans la boîte de dialogue, clique sur l'onglet "Protection"
4) Décoche "verrouillée"
5) valide
6) Met ta protection de feuille

@+Jean-Marie
 
A

andré

Guest
Salut à vous tous,

Cette option existe bien sous la version XL2003, mais il ne me semble pas l'avoir rencontrée sous les versions précédentes.

Il faut déverouiller toutes les cellules, puis en protégeant la feuille il faut tout autoriser (à cocher), sauf insérer des lignes (et les supprimer éventuellement).
La même chose est aussi valable pour les colonnes.

Ândré.
 
J

Jean-Marie

Guest
Re...

André, cela marche avec toutes les versions d'excel.

Je ne l'avais pas précisé dans mon second post, dans la boîte de dialogue de protection de la feuille, je laisse les 3 options de cochées (standard). Il n'a rien d'autre à faire.

Nota, dans l'onglet de protection du format de cellule, je n'ai que deux options, déverrouiller et masquer.

@+Jean-Marie
 

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 980
Membres
103 996
dernier inscrit
KB4175