Graphique et Tableau

Bonjour le Forum

Voilà, cela fait un moment que je cherche sans trouver une solution sur ces 2 cas.

J'ai extrait de mon projet 2 feuilles . ( des annotations y sont mentionnées)

1er Cas:

Dans la feuille "ADMINISTRATEUR" , j'ai 3 charts qui se mettent à jour suivant un code qui fonctionne bien.

Ce que je souhaite c'est que le chart que j'ai mis pour exemple ne sont pas sélectionnable. ( pas possible de le déplacer)

2éme cas:

Dans mon projet j'ai environ 30 TBL sur la même structure, le Nombre de ligne est différent.

Dans la feuille "TBL", j'aimerai qu'il ne soit pas possible d'ajouter une ligne au tableau.

Par contre il est possible de remplir chaque ligne de ce tableau uniquement qu'a partir de D3 et jusque derligne.

En espérant que cette demande soit compréhensible de tous

Je compléterais la demande avec un Btn_OkModif qui me permet de déverrouiller la macro pour réaliser des modifications.

Merci de votre aide

A bientôt

12ledzep-v1.xlsm (23.19 Ko)

Bonsoir Ledzep,

Voici une possibilité

14ledzep-v1.xlsm (29.11 Ko)

Pour le graphique, il suffit de protéger la feuille, pour le TS 2 évènements dans la feuille

A+

Edit : code corrigé

Bonjour le forum

Bonjour BrunoM45

Merci de ta proposition.

Pour le graphique Ok pour le principe que j'avais trouvé, mais voulais savoir si d'autres méthodes étaient utilisées.

Pour le TS, tu as mis 2 fois le même code, a moins que je n'ai pas bien lu.

Je met en place sur mon fichier de travail ces propositions , je vais essayer de le mettre dans TisWorkbook ce week-end, et reviens vers vous pour vous donner le résultat.

Merci déjà de m'avoir donner une piste de travail

A bientôt sur le forum

Re,

Il s'agit du même code, effectivement, mais ce ne sont pas les 2 mêmes évènements

Petite correction au passage

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim LObj As ListObject
  Set LObj = ThisWorkbook.Sheets("Tbl").ListObjects("Tbl_1")
  If LObj.DataBodyRange.Rows.Count > 24 Then
    MsgBox "Vous ne devez pas ajouter de lignes"
    Application.EnableEvents = False
    Application.Undo
    Application.EnableEvents = True
  End If
  Set LObj = Nothing
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim LObj As ListObject
  Set LObj = ThisWorkbook.Sheets("Tbl").ListObjects("Tbl_1")
  If LObj.DataBodyRange.Rows.Count > 24 Then
    MsgBox "Vous ne devez pas ajouter de lignes"
    Application.EnableEvents = False
    Application.Undo
    Application.EnableEvents = True
  End If
  Set LObj = Nothing
End Sub

J'ai remplacé "ActiveSheet" par "ThisWorkbook.Sheets("Tbl")"

A+

Bonjour le forum

Bonjour BrunoM45

Comme promis voici mon retour suite mise en place de ta proposition.

Pour le cas protection des graphiques:

J'ai fait Protéger la feuille -> Coché tous sauf Modifier les Objets

Et dans mon code de mise à jour des graph

Sub Creation_Graphique() 

Worksheets("ADMINISTRATEUR").Unprotect

Mon code

 Worksheets("ADMINISTRATEUR").Protect

End Sub

Je met en réserve ton code dans mes archives.

Cela m'a permis de comprendre

ListObjects

Pour le cas TS

J'ai protéger la feuille en définissant les plages de cellule verrouillées

Je te remercie pour l'aide et les idées que tu m'as soumises

J'attends ton retour sur ma façon de faire pour clore le sujet

Bonne journée au forum

Salut Ledzep

Pour le graphique, cela me semble parfait

Pour les TS, pas bête voir mieux effectivement en protégeant la feuille

Je pense que tu peux clôturer le sujet

A+

Re

Merci

Rechercher des sujets similaires à "graphique tableau"