[vba excel] interdire l'insertion des colonne

chercheur92 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
Laurent08 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour !
je travaille sur un projet en vba et je dois insérer des formules dans une feuille. j'ai inséré mes formules de telle sorte que si l'utilisateur insere des lignes mes formules seront toujours bonnes par contre s'il insere des colonnes c'est tout faux. est ce que c'est possible, par vba, d'interdire à l'utilisateur d'insérer des colonnes sur une feuillle ?
je compte sur votre aide.
merci d'avance
A voir également:

3 réponses

JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonsoir,

regarde du côté de la protection de ta feuille.
tu verras que tu peux (sous excel 2003 en tout cas) interdire certaines opérations dont l'insertion de colonnes.

cordialement
0
shattered_faith Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   13
 
Bonjour à tous,

en fait mon problème est lié au précedent mais un tantinet plus complexe : en fait je voudrais moi aussi interdire l´insertion de lignes sur ma feuille excel, chose accessible depuis les options de protection. Mais je voudrais qu´il soit tout de même possible d´ajouter des lignes par le biais d´un bouton que j´ai créé au préalable (contenat la fonction Selection.EntireRow.Insert)...

Or, si j´interdit la création de lignes, mon bouton ne fonctionne évidemment plus ! Y´a t´il donc une commande permettant de réactiver temporairement la création de ligne (et de la réactiver par la suite) ??? Pour info, je voudrai qu´il ne soit possible d´ajouter une ligne que sous certaines conditions (notamment le fait que certaines cellules doivent être remplies (je me sers pour ca de la fonction Range("MaCellule").Value = InputBox("Entrer la valeur") dans le script du bouton)

Merci par avance.
0
shattered_faith Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   13
 
Voilà pour ceux que ca interesse j´ai trouvé la fonction qui permet d´activer/desactiver l´insertion des lignes :

Pour interdire :
ActiveSheet.Protect AllowInsertingRows:=False

Pour deactiver la protection :
ActiveSheet.Unprotect


Mais cela ne fait que repousser le problème : dans ce cas, l´utilisateur ne peux plus modifier les cellules de la feuille à cause de la protection... Y´a t´il une solution (pour interdire uniquement l´insertion et autoriser la modification de la valeur des cellules) ?

Repondez SVP... Merci d´avance...
0
Laurent08 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

Va faire un tour dans Outlis, Protection, Permettre aux utilisateurs de modifier des plages...
Ca devrait répondre à ta question. Et si tu veux connaitre le code VBA associé, tu fais outils, macro, nouvelle macro, tu enregistres tes actions, puis tu vas dans l'éditeur VBA, dans un module tu trouveras la macro que tu viens d'enregistrer, il ne te reste plus qu'à l'adapter !!

Au boulot !!

Laurent
0