Pb : Protéger 2 feuilles qui sont des "récap" auto-alimentées

  • Initiateur de la discussion Initiateur de la discussion papapaul
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

papapaul

XLDnaute Impliqué
🙂 Bonjour Forum,
J'ai 2 feuilles "recap", Patients et Sortis, j'arrive pas
à les protéger correctement. Elles doivent normalement
être alimentées ou modifiées seulement à partir de boutons
qui sont sur les feuilles Nouveau et Patient et donc y interdire
des saisies. J'interdis aussi la saisie dans les 5 premières colonnes
de mes feuilles services (ça ca marche).
Comme il y a des relations entre toutes les feuilles et aussi
des tris automatiques, quand j'essaye de protéger les 2
feuilles (citées plus haut) ça mets la pagaille dans l'éxécution
des macros des boutons.
J'ai essayé en mettant des trucs dans Thisworbook, dans les feuilles,
je m'en sors pas 🙁

C'est pour continuer une idée de la_grande. (fichier joint)
Pour la partie Repas, c'était OK je crois, je l'ai pas mis ici.

Merci d'avance, Bonne journée sur XLD😉
 

Pièces jointes

Re : Pb : Protéger 2 feuilles qui sont des "récap" auto-alimentées

🙂 Salut cbea, Forum, merci de bien vouloir m'aider.
Mon fichier marche trés bien 1 fois sur 2.😕
Si tu arrive à l'ouvrir c'est la partie qui permet
d'afficher la liste des repas dans la feuille Patient
qui déconne. (bouton Voir Repas) Tout le reste semble correct.
Je peux pas t'expliquer plus, y a trop de trucs.😛
Ca ressemble à un problème de mémoire vive ou de récupération
de fichier mais pourquoi pas tout le temps.

Je te joins une version qui est nickel chez moi.
Si tu a un peu de temps,
Dis moi si tu y arrive (tu va voir que dans la feuille "patient"
c'est ma fiche qui apparait, avec mes repas prévus
à partir de la feuille "Patients" choisi par exemple Coco,
et dis moi si ce satané bouton "Voir les repas" fonctionne)

Merci à toi😉
 

Pièces jointes

Re : Pb : Protéger 2 feuilles qui sont des "récap" auto-alimentées

🙂
Merci cbea, A force de ramer j'ai peut-être une explication.
J'ai mis ce bout de code au tout début de la Macro Maj_Service.

Rows("18:64").Select
On Error Resume Next
Selection.EntireRow.Hidden = False

Faut croire que le code de la Macro13 ne suffisait pas.

Je crois que ca y est , 😛
 
Re : Pb : Protéger 2 feuilles qui sont des "récap" auto-alimentées

Voici une solution.
Il faut que tu remplaces ta procédure "MAJ_Service" par celle-ci :

Code:
Sub MAJ_Service()
    'Recherche à partir du N°Sécu pour alimenter
    'la feuille Patient par le Service
    
    Dim ws As Object, c As Range
    
    For Each ws In Sheets
        If ws.Name = Sheets("Patient").Range("D12").Value Then
            With Sheets("Patient")
                Set c = ws.Columns("A:A").Find(.Range("B5").Value, LookIn:=xlValues, LookAt:=xlWhole)
                
                If Not c Is Nothing Then
                    c.Columns("f:ax").Copy
                    
                    .Range("c19").PasteSpecial _
                        Paste:=xlPasteAll, Operation:=xlNone, _
                        SkipBlanks:=False, Transpose:=True
                        
                    Exit For
                End If
            End With
        End If
    Next ws
    
    ActiveSheet.Unprotect
    Call Macro13
    ActiveSheet.Protect
End Sub

Si je peux me permettre, il serait bien d'appeler cette procédure après l'affichage des données du patient dans la feuille Patient.
Dans la userform4, modification de la procédure :
Code:
Private Sub CommandButton1_Click()
    'Pour copier la partie patient dans la feuille patient
    Dim Cel As Variant
    
    For Each Cel In Range("a7:a20")
        'Pour afficher Nom et Prénom
        If ComboBox1.Text = CStr(Cel) Then
            Cel.Select
            UserForm4.Hide
        
            Sheets("Patient").Range("b5") = Selection.Offset(0, 0)
            Sheets("Patient").Range("b2") = Selection.Offset(0, 1)
            Sheets("Patient").Range("b3") = Selection.Offset(0, 2)
            Sheets("Patient").Range("b7") = Selection.Offset(0, 3)
            Sheets("Patient").Range("b9") = Selection.Offset(0, 4)
            Sheets("Patient").Range("b10") = Selection.Offset(0, 5)
            Sheets("Patient").Range("D12") = Selection.Offset(0, 6)
            Sheets("Patient").Range("D14") = Selection.Offset(0, 7)
            Sheets("Patient").Range("D16") = Selection.Offset(0, 8)
            
            Sheets("Patient").Activate
            Call MAJ_Service
            
            Exit For
       End If
    Next
End Sub

et modification de la procédure :
Code:
Sub Macro13()
    Dim Lig As Long
    
    Application.ScreenUpdating = False
    
    For Lig = 19 To 63
        Rows(Lig).EntireRow.Hidden = False
        If Range("C" & Lig).Value = "" Then Rows(Lig).EntireRow.Hidden = True
    Next Lig
    
    Application.ScreenUpdating = True
End Sub 'Macro enregistrée le 10/05/2008 par papapaul
 
Re : Pb : Protéger 2 feuilles qui sont des "récap" auto-alimentées

🙂 cbea, tu est vraiment trop fort et trop sympa.
Je vais étudier tout ca.
Le problème venait bien des Macros Maj_Service et Macro13
Surement pas orthodoxe mais à force de tatonner
je crois que j'avais résolu avec une autre solution,
voir mon post ci-dessus.

J'ai maintenant une nouvelle version impeccable
dans laquelle j'ai aussi fait un peu de ménage.🙄

J'éspère que la_grande sera contente

Encore Merci et bonne fin de soirée.

Lien supprimé
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour