Souci Protection feuille et code VBA

roza

XLDnaute Nouveau
Bonjour,

J'ai un classeur avec plusieurs feuilles et pour certaines d'entre elles, quand je mets la protection de feuille,
celles-ci ne fonctionnent plus très bien. J'ai l'impression que les codes liés en sont affectés.

Merci d'avance
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Souci Protection feuille et code VBA

Roza,

Je viens de travailler sur la feuille Rapports Electriciens de Quart, regardes si le fonctionnement est conforme,

regarde ensuite les modifs de codes , essai de transposer si tu peux ou reviens vers moi pour explication
 

Pièces jointes

  • Test_Roza1.zip
    138.3 KB · Affichages: 46

roza

XLDnaute Nouveau
Re : Souci Protection feuille et code VBA

Bonjour camarchepas,

Ton fichier test fonctionne bien, mais quand j'ai voulu transposer le code sur ma feuille, ca m'a marqué erreur de compilation en surlignant "Private Sub Worksheet_Change(ByVal Target As Range)" et "Temoin".
Pourrais-tu m'indiquer comment palier à ca.

Merci
 

camarchepas

XLDnaute Barbatruc
Re : Souci Protection feuille et code VBA

Roza,

J'ai utilisé des variables publiques ,

il faut les déclarer dans le module standart : Module1
et du coup , le mot de passe tu peux le changer ici également , il suffit de mettre autre chose que Auto

Option Explicit
Public Const MotPasse As String = "Auto"
Public Temoin As Boolean
 

roza

XLDnaute Nouveau
Re : Souci Protection feuille et code VBA

Camarchepas,

Je me suis avancé un peu trop vite sur le fonctionnement du fichier test, quand on supprime la ligne de la personne choisie, une ligne s'ajoute chaque fois, au-dessus des en-têtes "rempli par/date/commentaires".

L'autre chose, c'est si on veut pas mettre de code, la solution est-elle de retirer la variable "MotPasse"? car j'ai essayé de retirer le MP "Auto" dans "Module1" et ca me donnait une erreur.

Merci
 

roza

XLDnaute Nouveau
Re : Souci Protection feuille et code VBA

Re-bonjour,

Voici un petit point de choses sur lesquelles je bloque:

Pour les feuilles "Rapport Intru AC et YS", quand j'appuie sur le bouton pour les archiver, j'ai une erreur d'exé qui apparaît.

Depuis le dédut, sur les feuilles "Panne Hydro et Gicleurs", j'ai une erreur d'exé qui apparaît, quand je fais effacer sur une cellule vide de la colonne A.

Pourrais-tu m'expliquer à quoi sert la variable "Témoin"? est-elle là pour le MP

fichier:

Merci,

Roza
 

Pièces jointes

  • Copie Versionfinale1.zip
    152.5 KB · Affichages: 36
  • Copie Versionfinale1.zip
    152.5 KB · Affichages: 33
  • Copie Versionfinale1.zip
    152.5 KB · Affichages: 33

camarchepas

XLDnaute Barbatruc
Re : Souci Protection feuille et code VBA

Bonsoir ,

Témoin c'est décrit dans le code :

'Monte le drapeau pour bloquer l'éxécution de cette portion de code, car ce qu'il faut savoir , c'est que dés que l'événement Change se reproduit et c'est le cas puisque l'on écrit dans la feuille , un nouvel appel à cette macro est déclenché, le fait de monter le témoin , permet tant que la premiere passe n'est pas complétement terminée de ne pas entrer dans cette même portion de code . en quelque sort un verrou anti répétition, pour le mot de passe il suffit de faire motdepasse = "" et y'a pas de mot de passe, mais ça sert pas à grand chose dans ce cas
 

camarchepas

XLDnaute Barbatruc
Re : Souci Protection feuille et code VBA

Pour les autres feuilles hormi enlever la gestion d'erreur qui ne sert qu'a mettre le bazard dans ce code, c'est tout ce que j'ai fais .

Et avec le peu de commentaire et d'explications données dans ce sujet , il faut tout découvrir , donc ça prend du temps , surtout que l'on vois bien que c'est du code récupéré et reservi avec une autre sauce , mais bon ça marche rarement. ce serait trop simple .

Bon est-ce que je continu ou pas ?
 

roza

XLDnaute Nouveau
Re : Souci Protection feuille et code VBA

Désolé pour le manque d'explication.

Alors dans l'ordre:

Feuille 1 "Lectures": cette feuille permet aux personnes qui,
- dès qu'elles s'identifient en col A, la date se met automatiquement puis sélectionnent leur poste (6h30-18h30)
- elles ne peuvent remplir la suite sans s'être identifiées
- il y a des zones à dble clic (Bon/A corriger) et le reste c'est du texte ou valeur numérique
- il y 2 boutons(en A1 et A852) liés à des macros, servant à se rendre en début et fin(pour voir des val. max) de tableau

Feuille 2 "Panne hydro": cette feuille permet aux personnes qui,
- (idem) dès qu'elles s'identifient en col A, la date se met automatiquement puis sélectionnent leur poste (6h30-18h30)
- (idem) elles ne peuvent remplir la suite sans s'être identifiées
- il y a que des cellules à dble clic

Feuille 3 "Gicleurs": cette feuille permet aux personnes qui,
- (idem) dès qu'elles s'identifient en col A, la date se met automatiquement puis sélectionnent leur poste (6h30-18h30)
- (idem) elles ne peuvent remplir la suite sans s'être identifiées
- il y a que des cellules à dble clic et une zone texte à la fin

Feuille 4 "Rapp électr de quart": cette feuille permet aux personnes qui,
- (idem) dès qu'elles s'identifient en col A, la date, l'heure et une ligne séparatrice se mettent automatiquement puis sélectionnent leur poste (6h30-18h30)
- (idem) elles ne peuvent remplir la suite sans s'être identifiées
- il y a qu'une zone texte

Feuilles 5 et 6 "Rapp Instru YS et AC": ,
- ces feuilles sont attitrées, donc pas de liste déroulante
- dble clic en col A, apparition de l'heure, du nom et de la mention "prêt" en fin de tableau
- col contrôle archivage (dernière): permet de savoir si le fichier a été archivé (en feuille Fusion)ou non,
après action sur le bouton en tête de tableau
- (idem) elles ne peuvent remplir la suite sans avoir effectuée le dble clic
- il y a qu'une zone texte

Feuilles 7 "Fusion":
- cette feuille est liée aux 2 précédentes et ne fait que recevoir les rapports de YS et AC attitrées

Feuilles 8 et 9 "Rapp Superv CB et AD": ,
- ces feuilles sont attitrées, donc pas de liste déroulante
- dble clic en col A, apparition de l'heure
- (idem) elles ne peuvent remplir la suite sans avoir effectuée le dble clic
- il y a qu'une zone texte

Pour toutes ces feuilles, il y a une demande de confirmation, quand on veut supprimer la cellule en colonne A (identification)

Comme tu peux constater le fonctionnement des feuilles est très similaire, mise à part "rapp YS et AC"

Si t'as besoin de plus d'information, n'hésite pas
 

roza

XLDnaute Nouveau
Re : Souci Protection feuille et code VBA

Bonjour Camarchepas,

Tous les points que je t'avais cité dans le post #10 sont réglés.

Mais j'ai 3 autres soucis:

1) quand on sélectionne une personne sur la dernière ligne (850) de la feuille "Rapp Elec quart" et qu'on supprime cette dernière,
une nouvelle ligne paramétrée, se crée en 851.

2)Pour les feuilles avec ligne séparatrice (Rapp Elec Quart/Instru AC et YS/Superv AD et CB), quand on sélectionne 2 personnes espacées de quelques lignes et qu'on souhaite en ajouter une autre entre les 2, celle-ci se retrouve sans ligne séparatrice

3) Pourrais tu voir pour m'insérer la protection VB, sur la feuille 1 "Lectures", j'ai pas réussi à le faire

Merci
 

Pièces jointes

  • Copie Versionfinale1.zip
    153.3 KB · Affichages: 42
  • Copie Versionfinale1.zip
    153.3 KB · Affichages: 47
  • Copie Versionfinale1.zip
    153.3 KB · Affichages: 45

camarchepas

XLDnaute Barbatruc
Re : Souci Protection feuille et code VBA

Bonjour Camarchepas,

Tous les points que je t'avais cité dans le post #10 sont réglés.

Super , ça avance enfin presque, car c'est beaucoup de rustines , mais tu laisses toujours les bombes à retardement .
j'ai constaté 3 routines Séparation qui sont toutes identiques sauf la largeur de la zone qui change, il y a un très gros risque de confusion , pas par le programme puisque dans l'ordre , il charche dans le module en cours , puis dans l'ensemble du code la fonction appelée, mais plus pour toi ou moi lors de la mise au point, tu fais pas trop attention et hop tu dérégles tout., la solution je pense est de la laisser dans le module 1, (il y a déjà bien trop de code dans les feuilles, pour la maintenance c'est pas le top,) et de rendre paramètrable la largeur , voir en bout de cet article ce que cela donne :

une dans module1

Sub Séparation()
Range([A65536].End(xlUp).Offset(1, 0), [A65536].End(xlUp).Offset(1, 4)).Select
With Selection.Interior
.Pattern = xlDown
.PatternColorIndex = xlAutomatic
.ColorIndex = xlAutomatic
End With
Cells(ActiveCell.Row, 1).RowHeight = 4.5 '------------------------- hauteur ligne
Cells(ActiveCell.Row, 1).Select
End Sub

et l'autre dans Rapports Superviseur C.B.
Sub Séparation()
Range([A65536].End(xlUp).Offset(1, 0), [A65536].End(xlUp).Offset(1, 2)).Select
With Selection.Interior
.Pattern = xlDown
.PatternColorIndex = xlAutomatic
.ColorIndex = xlAutomatic
End With
Cells(ActiveCell.Row, 1).RowHeight = 4.5 '------------------------- hauteur ligne
Cells(ActiveCell.Row, 1).Select
End Sub

et l'autre dans Rapports Superviseur A.D.
Sub Séparation()
Range([A65536].End(xlUp).Offset(1, 0), [A65536].End(xlUp).Offset(1, 2)).Select
With Selection.Interior
.Pattern = xlDown
.PatternColorIndex = xlAutomatic
.ColorIndex = xlAutomatic
End With
Cells(ActiveCell.Row, 1).RowHeight = 4.5 '------------------------- hauteur ligne
Cells(ActiveCell.Row, 1).Select
End Sub



Je pense qu'une mise en commun serait la bienvenue, ....


ET tu as encore beaucoup trop de gestion d'erreur (On Error GoTo errorHandler), alors qu'elles ne servent à rien

Y'a vraiment tu pain sur la planche en fait
 

Statistiques des forums

Discussions
312 174
Messages
2 085 949
Membres
103 057
dernier inscrit
SOP