Alors voil=E0, =E0 travers un bouton situ=E9 dans le classeur n=B01,
j'envoie des donn=E9es dans un classeur n=B02 qui est prot=E9g=E9 en
=E9criture avec le mdp "password".
Or mon probl=E8me, c'est qu'apr=E8s avoir =E9crit les donn=E9es (tout va
bien jusque l=E0) l'utilisateur peut encore modifier le classeur n=B02 et
le sauvegarder! (chose qu'il faut que j'emp=EAche)
Pourtant je reprot=E8ge bien mon classeur
Merci d'avance :)
Benj
PS : Voici le code que j'utilise :
If NomClasseur =3D "" Then
Alerte =3D MsgBox("Vous n'avez pas rempli le num=E9ro du dossier", 16,
"Num=E9rio de dossier non valide")
Else
'Activer le fichier =3D=3D> sinon l'ouvrir
On Error Resume Next
Workbooks("fichier partage.xls").Activate
If Err <> 0 Then
fichier =3D "R:\DPE\Projet\fichier partage.xls"
Workbooks.Open Filename:=3Dfichier, WriteResPassword:=3D"password"
End If
'On enleve la protection
Workbooks("fichier partage.xls").Unprotect ("password")
'On regarde si le dossier est dans les dossiers en cours
For k =3D 2 To Workbooks("fichier partage.xls").Worksheets("Dossiers
en cours").Range("A65536").End(xlUp).Row
If Workbooks("fichier partage.xls").Worksheets("Dossiers en
cours").Cells(k, 1) =3D NomClasseur Then Trouve =3D True
Next k
'Si le fichier est pr=E9sent on recherche dans les t=E2ches toutes
les t=E2ches qui correspondent =E0 ce dossier et on les efface
If Trouve =3D True Then
For k =3D Workbooks("fichier
partage.xls").Worksheets("Taches").Range("A65536").End(xlUp).Row To 2
Step -1
If Workbooks("fichier
partage.xls").Worksheets("Taches").Cells(k, 1) =3D NomClasseur Then
Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k &
":I" & k).Delete Shift:=3DxlShiftUp
Next k
End If
'On r=E9cup=E8re toutes les t=E2ches et on les met dans le fichier
partage
Fin =3D
Workbooks(NomDuFichier).Worksheets("Dossier").Range("A65536").End(xlUp).Row
For k =3D Debut To Fin
'On copie les infos
Fin2 =3D Workbooks("fichier
partage.xls").Worksheets("Taches").Range("B65536").End(xlUp).Offset(1,
0).Row
'On ajoute le lien hypertexte vers le dossier
Activesheets.Hyperlinks.Add Anchor:=3DCells(Fin2, 1),
Address:=3DNomDuFichier
Next k
'On met les couleurs
For k =3D 2 To Workbooks("fichier
partage.xls").Worksheets("Taches").Range("B65536").End(xlUp).Row
If Workbooks("fichier
partage.xls").Worksheets("Taches").Cells(k, 5) =3D "F" Then
Workbooks("fichier
partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Delete
Shift:=3DxlShiftUp
ElseIf Workbooks("fichier
partage.xls").Worksheets("Taches").Cells(k, 5) =3D "NF" And
Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 2) <=3D
Date Then
Workbooks("fichier
partage.xls").Worksheets("Taches").Range("A" & k & ":I" &
k).Interior.ColorIndex =3D 3
Else:
Workbooks("fichier
partage.xls").Worksheets("Taches").Range("A" & k & ":I" &
k).Interior.Color =3D RGB(255, 240, 100)
End If
Next k
'On met le dossier dans les dossiers en cours si il n'y est pas
d=E9j=E0
If Trouve =3D False Then Workbooks("fichier
partage.xls").Worksheets("Dossiers en
cours").Range("A65536").End(xlUp).Offset(1, 0) =3D NomClasseur
'On sauvegarde le fichier
Workbooks("fichier partage.xls").Save
'On remet la protection
Workbooks("fichier partage.xls").Protect ("password")
=20
End If
Excusez moi de vous avoir déranger, je viens de trouver mon erreur tout seul ^^ Je protéger uniquement le classeur contre la suppression de feuille et non les feuilles contre la modification de leur contenu.
J'ai une nouvelle fois besoin de votre aide ^^
Alors voilà, à travers un bouton situé dans le classeur n°1, j'envoie des données dans un classeur n°2 qui est protégé en écriture avec le mdp "password".
Or mon problème, c'est qu'après avoir écrit les données (tout va bien jusque là) l'utilisateur peut encore modifier le classeur n°2 et le sauvegarder! (chose qu'il faut que j'empêche)
Pourtant je reprotège bien mon classeur
Merci d'avance :)
Benj
PS : Voici le code que j'utilise :
If NomClasseur = "" Then Alerte = MsgBox("Vous n'avez pas rempli le numéro du dossier", 16, "Numério de dossier non valide") Else 'Activer le fichier ==> sinon l'ouvrir On Error Resume Next Workbooks("fichier partage.xls").Activate If Err <> 0 Then fichier = "R:DPEProjetfichier partage.xls" Workbooks.Open Filename:=fichier, WriteResPassword:="password" End If
'On enleve la protection Workbooks("fichier partage.xls").Unprotect ("password")
'On regarde si le dossier est dans les dossiers en cours For k = 2 To Workbooks("fichier partage.xls").Worksheets("Dossiers en cours").Range("A65536").End(xlUp).Row If Workbooks("fichier partage.xls").Worksheets("Dossiers en cours").Cells(k, 1) = NomClasseur Then Trouve = True Next k
'Si le fichier est présent on recherche dans les tâches toutes les tâches qui correspondent à ce dossier et on les efface If Trouve = True Then For k = Workbooks("fichier partage.xls").Worksheets("Taches").Range("A65536").End(xlUp).Row To 2 Step -1 If Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 1) = NomClasseur Then Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Delete Shift:=xlShiftUp Next k End If
'On récupère toutes les tâches et on les met dans le fichier partage Fin = Workbooks(NomDuFichier).Worksheets("Dossier").Range("A65536").End(xlUp).R ow
For k = Debut To Fin 'On copie les infos Fin2 = Workbooks("fichier partage.xls").Worksheets("Taches").Range("B65536").End(xlUp).Offset(1, 0).Row
'On ajoute le lien hypertexte vers le dossier Activesheets.Hyperlinks.Add Anchor:Îlls(Fin2, 1), Address:=NomDuFichier Next k
'On met les couleurs For k = 2 To Workbooks("fichier partage.xls").Worksheets("Taches").Range("B65536").End(xlUp).Row If Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 5) = "F" Then Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Delete Shift:=xlShiftUp ElseIf Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 5) = "NF" And Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 2) <= Date Then Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Interior.ColorIndex = 3 Else: Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Interior.Color = RGB(255, 240, 100) End If Next k
'On met le dossier dans les dossiers en cours si il n'y est pas déjà If Trouve = False Then Workbooks("fichier partage.xls").Worksheets("Dossiers en cours").Range("A65536").End(xlUp).Offset(1, 0) = NomClasseur 'On sauvegarde le fichier Workbooks("fichier partage.xls").Save 'On remet la protection Workbooks("fichier partage.xls").Protect ("password")
End If
Excusez moi de vous avoir déranger, je viens de trouver mon erreur
tout seul ^^
Je protéger uniquement le classeur contre la suppression de feuille et
non les feuilles contre la modification de leur contenu.
J'ai une nouvelle fois besoin de votre aide ^^
Alors voilà, à travers un bouton situé dans le classeur n°1,
j'envoie des données dans un classeur n°2 qui est protégé en
écriture avec le mdp "password".
Or mon problème, c'est qu'après avoir écrit les données (tout va
bien jusque là) l'utilisateur peut encore modifier le classeur n°2 et
le sauvegarder! (chose qu'il faut que j'empêche)
Pourtant je reprotège bien mon classeur
Merci d'avance :)
Benj
PS : Voici le code que j'utilise :
If NomClasseur = "" Then
Alerte = MsgBox("Vous n'avez pas rempli le numéro du dossier", 16,
"Numério de dossier non valide")
Else
'Activer le fichier ==> sinon l'ouvrir
On Error Resume Next
Workbooks("fichier partage.xls").Activate
If Err <> 0 Then
fichier = "R:DPEProjetfichier partage.xls"
Workbooks.Open Filename:=fichier, WriteResPassword:="password"
End If
'On enleve la protection
Workbooks("fichier partage.xls").Unprotect ("password")
'On regarde si le dossier est dans les dossiers en cours
For k = 2 To Workbooks("fichier partage.xls").Worksheets("Dossiers
en cours").Range("A65536").End(xlUp).Row
If Workbooks("fichier partage.xls").Worksheets("Dossiers en
cours").Cells(k, 1) = NomClasseur Then Trouve = True
Next k
'Si le fichier est présent on recherche dans les tâches toutes
les tâches qui correspondent à ce dossier et on les efface
If Trouve = True Then
For k = Workbooks("fichier
partage.xls").Worksheets("Taches").Range("A65536").End(xlUp).Row To 2
Step -1
If Workbooks("fichier
partage.xls").Worksheets("Taches").Cells(k, 1) = NomClasseur Then
Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k &
":I" & k).Delete Shift:=xlShiftUp
Next k
End If
'On récupère toutes les tâches et on les met dans le fichier
partage
Fin =
Workbooks(NomDuFichier).Worksheets("Dossier").Range("A65536").End(xlUp).R ow
For k = Debut To Fin
'On copie les infos
Fin2 = Workbooks("fichier
partage.xls").Worksheets("Taches").Range("B65536").End(xlUp).Offset(1,
0).Row
'On ajoute le lien hypertexte vers le dossier
Activesheets.Hyperlinks.Add Anchor:=Cells(Fin2, 1),
Address:=NomDuFichier
Next k
'On met les couleurs
For k = 2 To Workbooks("fichier
partage.xls").Worksheets("Taches").Range("B65536").End(xlUp).Row
If Workbooks("fichier
partage.xls").Worksheets("Taches").Cells(k, 5) = "F" Then
Workbooks("fichier
partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Delete
Shift:=xlShiftUp
ElseIf Workbooks("fichier
partage.xls").Worksheets("Taches").Cells(k, 5) = "NF" And
Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 2) <=
Date Then
Workbooks("fichier
partage.xls").Worksheets("Taches").Range("A" & k & ":I" &
k).Interior.ColorIndex = 3
Else:
Workbooks("fichier
partage.xls").Worksheets("Taches").Range("A" & k & ":I" &
k).Interior.Color = RGB(255, 240, 100)
End If
Next k
'On met le dossier dans les dossiers en cours si il n'y est pas
déjà
If Trouve = False Then Workbooks("fichier
partage.xls").Worksheets("Dossiers en
cours").Range("A65536").End(xlUp).Offset(1, 0) = NomClasseur
'On sauvegarde le fichier
Workbooks("fichier partage.xls").Save
'On remet la protection
Workbooks("fichier partage.xls").Protect ("password")
Excusez moi de vous avoir déranger, je viens de trouver mon erreur tout seul ^^ Je protéger uniquement le classeur contre la suppression de feuille et non les feuilles contre la modification de leur contenu.
J'ai une nouvelle fois besoin de votre aide ^^
Alors voilà, à travers un bouton situé dans le classeur n°1, j'envoie des données dans un classeur n°2 qui est protégé en écriture avec le mdp "password".
Or mon problème, c'est qu'après avoir écrit les données (tout va bien jusque là) l'utilisateur peut encore modifier le classeur n°2 et le sauvegarder! (chose qu'il faut que j'empêche)
Pourtant je reprotège bien mon classeur
Merci d'avance :)
Benj
PS : Voici le code que j'utilise :
If NomClasseur = "" Then Alerte = MsgBox("Vous n'avez pas rempli le numéro du dossier", 16, "Numério de dossier non valide") Else 'Activer le fichier ==> sinon l'ouvrir On Error Resume Next Workbooks("fichier partage.xls").Activate If Err <> 0 Then fichier = "R:DPEProjetfichier partage.xls" Workbooks.Open Filename:=fichier, WriteResPassword:="password" End If
'On enleve la protection Workbooks("fichier partage.xls").Unprotect ("password")
'On regarde si le dossier est dans les dossiers en cours For k = 2 To Workbooks("fichier partage.xls").Worksheets("Dossiers en cours").Range("A65536").End(xlUp).Row If Workbooks("fichier partage.xls").Worksheets("Dossiers en cours").Cells(k, 1) = NomClasseur Then Trouve = True Next k
'Si le fichier est présent on recherche dans les tâches toutes les tâches qui correspondent à ce dossier et on les efface If Trouve = True Then For k = Workbooks("fichier partage.xls").Worksheets("Taches").Range("A65536").End(xlUp).Row To 2 Step -1 If Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 1) = NomClasseur Then Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Delete Shift:=xlShiftUp Next k End If
'On récupère toutes les tâches et on les met dans le fichier partage Fin = Workbooks(NomDuFichier).Worksheets("Dossier").Range("A65536").End(xlUp).R ow
For k = Debut To Fin 'On copie les infos Fin2 = Workbooks("fichier partage.xls").Worksheets("Taches").Range("B65536").End(xlUp).Offset(1, 0).Row
'On ajoute le lien hypertexte vers le dossier Activesheets.Hyperlinks.Add Anchor:Îlls(Fin2, 1), Address:=NomDuFichier Next k
'On met les couleurs For k = 2 To Workbooks("fichier partage.xls").Worksheets("Taches").Range("B65536").End(xlUp).Row If Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 5) = "F" Then Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Delete Shift:=xlShiftUp ElseIf Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 5) = "NF" And Workbooks("fichier partage.xls").Worksheets("Taches").Cells(k, 2) <= Date Then Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Interior.ColorIndex = 3 Else: Workbooks("fichier partage.xls").Worksheets("Taches").Range("A" & k & ":I" & k).Interior.Color = RGB(255, 240, 100) End If Next k
'On met le dossier dans les dossiers en cours si il n'y est pas déjà If Trouve = False Then Workbooks("fichier partage.xls").Worksheets("Dossiers en cours").Range("A65536").End(xlUp).Offset(1, 0) = NomClasseur 'On sauvegarde le fichier Workbooks("fichier partage.xls").Save 'On remet la protection Workbooks("fichier partage.xls").Protect ("password")