Insertion de lignes dans un tableau en tenant compte des semaines

Effectivement, j'avais oublié la usf.
Fait et les 1ers tests sont concluants

J'ai lancé une modification d'une ligne pour tester.
Il m'a donc fait apparaître la croix qui une fois supprimée doit valider les modifications.
A la suppression de cette croix, j'ai erreur '1004'

capture

Cette erreur est due au fait que les cellules ne sont plus fusionnées
Il me semble que précédemment que vous aviez demandé de ne plus fusionner les cellules (d'ailleurs il n'y a plus d'instruction Merge dans les codes)
Si oui, mettez une apostrophe devant l'instruction pour la désactiver

J'ai désactivé Merge et même problème.

capture

Voir post du 26/12 à 10h56 (page 8)

Bizarre car je n'ai pas cela sur votre fichier
A tout hasard, rajoutez le mot INDEX juste après le R de color

Même problème

capture

Ok j'ai dû chercher là...
Je pense que c'est lorsque vous changez la valeur en W...
Si oui, vu les dernières modifications, allez dans le code et désactivez les deux instructions Unprotect et Protect (Edit : dans le code Ajout couleur)

Autre chose : dans le module 3 vérifiez que vous avez bien mis ces deux instruction au début du code renumerotation

Option Explicit
Option Private Module

Je ne change rien en W.
Je supprime juste la croix lorsqu'elle apparaît afin d'accepter les modifications, c'est tout.

Sur que code je dois supprimer Unprotect et Protect, svp ?

Dans le module 3,
Comme ceci ?

Option Explicit
Option Private Module
Option Compare Text
Sub renumerotation()
Dim c As Range

Je ne change rien en W. Je supprime juste la croix lorsqu'elle apparaît afin d'accepter les modifications, c'est tout.

Heu ben si ! puisque vous supprimez la croix...

Sur que code je dois supprimer Unprotect et Protect, svp ?

Oups désolé. dans le code "Ajout_couleur".
Le souci de Unmerge et Xlnone vient du fait que la feuille est protégée à ce moment là.

Dans le module 3, Comme ceci ?

Exact

Problème résolu !

J'ai présenté votre fichier et il a eu un franc succès grâce à vous.

Par contre, on m'a parlé que si le fichier n'était pas fermé, cela pénaliserait les autres utilisateurs. Ce qui est vrai

J'ai vu qu'il était possible de fermer en automatique un fichier au bout d'un certain temps d'inactivité.
Connaissez-vous la procédure, svp ?

J'ai vu qu'il était possible de fermer en automatique un fichier au bout d'un certain temps d'inactivité.

C'est possible oui mais il faut jouer avec les timers. Et là je trouve qu'excel ne se prête pas trop à cela notamment si vous avez des plantages de fichier
Mais on peut le faire effectivement.

Oui effectivement.

C'est une solution que j'avais appliqué dans un fichier pour mon travail il y a une quinzaine d'année.

A faire dans un module séparé en tout cas.

Que voulez-vous faire ?

Je voudrais bien essayer.
Partons pour un timer d'inutilisation de 10 minutes pour le moment
Par contre, si une session de PC se verrouille en moins de minutes, est-ce que le fichier se ferme tout de même ?
Enregistrement automatique à la fin de ce timer est possible aussi ?

Désolé, mais je vais devoir vous laisser.
Merci encore à vous et bon w-e

Bonjour Dan,

Lorsque que je dois taper mon code pour accéder à mes changements, est-il possible de ne pas faire apparaître le code que je tape ?
Même si je sais qu'il est indiqué dans le codage et que celui-ci n'est pas bloqué.

Je me permets également de relancer le sujet du timer.

Merci

Bonjour,

Désolé de vous avoir fait attendre un peu.

Partons pour un timer d'inutilisation de 10 minutes pour le moment

Voici ce que vous devez modifier

1. Créez un nouveau module et ajoutez toutes les instructions ci-dessous

Option Explicit
Option Private Module
Public debut0 As Date
Const Temps = "00:10:00" 'Timer en heures minutes secondes

Sub Debut()
debut0 = Now + TimeValue(Temps)
Application.OnTime debut0, "Fermer"
End Sub

Sub Fermer()
Application.DisplayAlerts = False
ThisWorkbook.Close True 'Mettre True à False si on veut eviter l'enregistrement automatique
End Sub

Sub Fin()
On Error Resume Next
Application.OnTime debut0, "Fermer", , False
End Sub

2. Allez dans Thisworbook et ajoutez ces codes

Private Sub Workbook_Open()
On Error Resume Next
Call Debut 'code timer
On Error GoTo 0
End Sub

'Codes pour TIMER
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
On Error Resume Next
Call Fin
Call Debut
End Sub

'Codes pour TIMER
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Call Fin
Call Debut
End Sub

'Codes pour TIMER
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Call Fin
Call Debut
End Sub

NB :
- j'ai mis le timer sur 10 minutes. Si vous voulez adapter changez la valeur dans la variable "Temps"
- ce n'est pas une obligation mais vous pouvez éventuellement renommer le module --> Timer. Lorsque j'avais placé ces codes dans un fichier
il y a 15 ans pour mon travail et j'avais renommé ce module pour y avoir accès plus rapidement en cas de souci.
Si tel est le cas et vu que vous enregistrez et fermer le fichier automatiquement, le mieux est de :
- aller dans Thisworkbook et désactiver le code OPEN
- enregistrer le fichier et fermer excel
A la réouverture le timer ne sera plus opérationnel


Par contre, si une session de PC se verrouille en moins de minutes, est-ce que le fichier se ferme tout de même ?
Enregistrement automatique à la fin de ce timer est possible aussi ?

Je ne pense pas. Faites un test et non concluant, voyez avec votre IT qui pourra toujours fermer à distance


Lorsque que je dois taper mon code pour accéder à mes changements, est-il possible de ne pas faire apparaître le code que je tape ?

Comment faites-vous ? en principe si vous allez par fichier --> information --> otez la protection, le code n'apparait pas

Comment faites-vous ?

Je clique sur le bouton "accéder" puis tape le code "123", Celui-ci s'affiche.Il faudrait que celui-ci ne s'affiche pas lors de mes réunions=

capture

J'ai effectué des tests sur le Timer et cela fonctionne parfaitement même si la session est verrouillée et je me suis aperçu qu'à la fin du Timer, toutes les modifications s'enregistrent.

Je clique sur le bouton "accéder" puis tape le code "123", Celui-ci s'affiche.Il faudrait que celui-ci ne s'affiche pas lors de mes réunions=

Alors deux solutions pour rester simple
- soit faire une userform spécifique avec une textbox. l'usf sera appelée depuis le bouton Accéder
- soit créer une textbox sur la feuille

Dans les deux cas cela changera un peu l'approche des codes actuels

Dites moi

Bonjour,

Peu importe, le plus simple

Rechercher des sujets similaires à "insertion lignes tableau tenant compte semaines"