Insérer des lignes dans tableau avec feuille verrouillée

Résolu/Fermé
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 - 30 mai 2016 à 14:33
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 - 23 juin 2016 à 19:06
Bonjour,

Normalement, dans un Tableau dans Excel, il est possible d'insérer simplement des lignes lorsqu'on arrive à la fin d'un enregistrement, en appuyant sur TAB. Les formats (incluant la validation des données) et les formules se répètent automatiquement sur la nouvelle ligne insérée.

J'ai créé un formulaire qui sera utilisé par différentes personnes, qui ne connaissent pas toutes bien le logiciel et je crains qu'ils effacent par erreur les formules. Ma solution est donc de verrouiller les cellules et de protéger la feuille.

Or, quand je verrouille la feuille, les lignes ne s'ajoutent plus dans le tableau. Tout ce que je parviens à faire, c'est ajouter des lignes à la feuille. Mais ça ajoute la ligne au-dessus et non en-dessous comme je le voudrais, et pire encore, les cellules sont toutes verrouillées, et les formules et validation ne se répètent pas.

J'ai essayé avec une macro-commande proposée ici : https://forums.commentcamarche.net/forum/affich-31609234-ajouter-lignes-vide#p33560923

Mais ça donne le même résultat (nouvelle ligne au-dessus, cellules verrouillées, pas de formules qui se copient ni la validation des données.)

Notez qu'il y aura deux sections au formulaire qui comportera des tableaux. Je ne peux pas mettre un nombre infini le lignes, parfois, il n'y aura qu'un seul enregistrement, parfois il peut y en avoir 25!

Voici mon fichier exemple (non terminé, anonymisé) : http://www.cjoint.com/c/FEEmGT1yYs0

Merci de votre aide!

A voir également:

6 réponses

Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 425
30 mai 2016 à 16:41
Bonjour,
Merci de votre nouveau poste. Je vais regarder ce qui est faisable et la réponse suivra ...! Patience.
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 425
30 mai 2016 à 17:05
Bonjour,
Vous avez bien 2 tableaux … PLANIFICATION et REEL qui seront remplis via un formulaire …. Ou est ce formulaire …. Je ne le trouve pas… ?
En plus je ne trouve pas de cellules avec formule…. !

0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 425
Modifié par Le Pingou le 30/05/2016 à 17:57
Bonjour,
Essayer une fois avec cette procédure qui suit en tenant compte que votre dernière colonne est la [F] = 6
La procédure :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = "6" Then
ActiveSheet.Unprotect
Target.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
ActiveSheet.Protect
End If
End Sub

Salutations.
Le Pingou
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 425
31 mai 2016 à 10:31
Bonjour,
En attendant votre retour et selon ce que j’ai compris, je vous propose une procédure qui ajoute une ligne au tableau structuré [Tableau1] si la cellule active est en colonne [F] et que c’est la dernière ligne disponible.
Voir le fichier : http://www.cjoint.com/c/FEFiDYR7e7I
Note : j’ai ajouté la plage bleue juste pour avoir des cellules avec formules.

0
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 40
Modifié par ButteDuLac le 31/05/2016 à 18:52
Merci, mais ça ne fonctionne pas du tout. Même pas dans le fichier joint, en fait, ça fonctionne pour une seule ligne, puis ça dit « Impossible d'utiliser cette fonctionnalité du tableau dans une feuille protégée ». La première fois a fonctionné parce que la feuille n'était pas protégée au départ...
Or, le code dans Visual Basic diffère de celui inséré dans l'encadré (et dans le post précédent...)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 425
31 mai 2016 à 23:58
Bonjour,
Eh bien oui la procédure est différente car l’autre code ne prend en compte que vous travaillez avec un tableau structuré.
Dans ma proposition j’ai omis de prendre en compte que les cellules de la colonne 6 sont verrouillées ce qui empêche le bon fonctionnement. J’ai modifié en prenant la colonne 2 car là vous devez entrer une donnée.
Le fichier corrigé : http://www.cjoint.com/c/FEFv3ZewNEI

0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 425
2 juin 2016 à 15:22
Bonjour,
Sans réponse de votre part, je considère comme résolu et je quitte le poste.
0
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 40
2 juin 2016 à 19:36
Merci.
En fait, non, ce n'est pas vraiment résolu, car j'ai dû trouver une solution alternative, on me mettait la pression pour compléter rapidement.
Toutefois, je conserve votre fichier en exemple (car ça m'arrive assez fréquemment d'avoir ce même problème), que je pourrai adapter, éventuellement.
Je vous en remercie grandement!
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 425
2 juin 2016 à 23:19
Bonsoir,
Juste une remarque: ma procédure fonctionne avec un tableau structuré mais pas avec un tableau normal...!
Salutations.
Le Pingou
0
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 40
23 juin 2016 à 19:06
Bonjour,
Merci. Quand je parle d'un tableau, je veux dire un tableau structuré. Sinon, je parle d'une feuille de calcul ou d'une liste de données dans une feuille.
Mais je conserverai pour une autre fois... en ferai l'essai de nouveau, au besoin.
Merci!!
0