Je viens d'écrire une procédure qui modifie une procédure afin de mettre à
jour certaines lignes. Le projet dans lequel je fais faire la modif est
protégé.
Merci de me donner l'instruction qui déprotège le projet.
Merci.
Beabou.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Oliv'
Beabou que je salut a écrit dans
Bonjour,
Je viens d'écrire une procédure qui modifie une procédure afin de mettre à jour certaines lignes. Le projet dans lequel je fais faire la modif est protégé. Merci de me donner l'instruction qui déprotège le projet. Merci. Beabou.
regarde là http://www.excelabo.net/xl/protection.php#passevba
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Beabou <Beabou@discussions.microsoft.com> que je salut a écrit dans
D7F5AFCA-6766-4D41-88BE-D98318ABDAF8@microsoft.com
Bonjour,
Je viens d'écrire une procédure qui modifie une procédure afin de
mettre à jour certaines lignes. Le projet dans lequel je fais faire
la modif est protégé.
Merci de me donner l'instruction qui déprotège le projet.
Merci.
Beabou.
regarde là
http://www.excelabo.net/xl/protection.php#passevba
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Je viens d'écrire une procédure qui modifie une procédure afin de mettre à jour certaines lignes. Le projet dans lequel je fais faire la modif est protégé. Merci de me donner l'instruction qui déprotège le projet. Merci. Beabou.
regarde là http://www.excelabo.net/xl/protection.php#passevba
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Beabou
J'ai regardé l'aide mais je n'arrive pas à mettre en place la déprotection. J'ai crée un nouveau classeur (MAJ RAF.xls) avec un module (ModuleMaj) dans lequel j'ai mis la procédure suivante :
Sub traitement() Dim Classeur As Workbook Dim Module As Object Dim Rechercher As String Dim Remplacer As String Dim Trouver As Integer Dim I As Integer
Rechercher = "C:gaf_exp.txt" Remplacer = "C:GRAVDIRGAFgaf_exp.txt" For Each Classeur In Workbooks For Each Module In Classeur.VBProject.VBComponents With Module.CodeModule If Module.Name <> "ModuleMaj" Then For I = 1 To .CountOfLines Trouver = InStr(.Lines(I, 1), Rechercher) If Trouver > 0 Then 'si une occurrence est trouvée, fait la modif et boucle 'sur la ligne afin de remplacer tous les mots Do .ReplaceLine I, Left(.Lines(I, 1) _ , Trouver - 1) & Remplacer & _ Mid(.Lines(I, 1), _ Trouver + Len(Rechercher) _ , Len(.Lines(I, 1))) Trouver = InStr(Trouver + 1, _ .Lines(I, 1), Rechercher) Loop While Trouver <> 0 End If Next I End If End With Next Module Next Classeur Set Classeur = Nothing Set Module = Nothing MsgBox ("MAJ terminée") End Sub
Je ne connais pas le nom du classeur dans lequel je dois faire la maj (chaque utilisateur a renommé son fichier) par contre j'ai le mdp du projet.
Help.......
J'ai regardé l'aide mais je n'arrive pas à mettre en place la déprotection.
J'ai crée un nouveau classeur (MAJ RAF.xls) avec un module (ModuleMaj) dans
lequel j'ai mis la procédure suivante :
Sub traitement()
Dim Classeur As Workbook
Dim Module As Object
Dim Rechercher As String
Dim Remplacer As String
Dim Trouver As Integer
Dim I As Integer
Rechercher = "C:gaf_exp.txt"
Remplacer = "C:GRAVDIRGAFgaf_exp.txt"
For Each Classeur In Workbooks
For Each Module In Classeur.VBProject.VBComponents
With Module.CodeModule
If Module.Name <> "ModuleMaj" Then
For I = 1 To .CountOfLines
Trouver = InStr(.Lines(I, 1), Rechercher)
If Trouver > 0 Then
'si une occurrence est trouvée, fait la modif et boucle
'sur la ligne afin de remplacer tous les mots
Do
.ReplaceLine I, Left(.Lines(I, 1) _
, Trouver - 1) & Remplacer & _
Mid(.Lines(I, 1), _
Trouver + Len(Rechercher) _
, Len(.Lines(I, 1)))
Trouver = InStr(Trouver + 1, _
.Lines(I, 1), Rechercher)
Loop While Trouver <> 0
End If
Next I
End If
End With
Next Module
Next Classeur
Set Classeur = Nothing
Set Module = Nothing
MsgBox ("MAJ terminée")
End Sub
Je ne connais pas le nom du classeur dans lequel je dois faire la maj
(chaque utilisateur a renommé son fichier) par contre j'ai le mdp du projet.
J'ai regardé l'aide mais je n'arrive pas à mettre en place la déprotection. J'ai crée un nouveau classeur (MAJ RAF.xls) avec un module (ModuleMaj) dans lequel j'ai mis la procédure suivante :
Sub traitement() Dim Classeur As Workbook Dim Module As Object Dim Rechercher As String Dim Remplacer As String Dim Trouver As Integer Dim I As Integer
Rechercher = "C:gaf_exp.txt" Remplacer = "C:GRAVDIRGAFgaf_exp.txt" For Each Classeur In Workbooks For Each Module In Classeur.VBProject.VBComponents With Module.CodeModule If Module.Name <> "ModuleMaj" Then For I = 1 To .CountOfLines Trouver = InStr(.Lines(I, 1), Rechercher) If Trouver > 0 Then 'si une occurrence est trouvée, fait la modif et boucle 'sur la ligne afin de remplacer tous les mots Do .ReplaceLine I, Left(.Lines(I, 1) _ , Trouver - 1) & Remplacer & _ Mid(.Lines(I, 1), _ Trouver + Len(Rechercher) _ , Len(.Lines(I, 1))) Trouver = InStr(Trouver + 1, _ .Lines(I, 1), Rechercher) Loop While Trouver <> 0 End If Next I End If End With Next Module Next Classeur Set Classeur = Nothing Set Module = Nothing MsgBox ("MAJ terminée") End Sub
Je ne connais pas le nom du classeur dans lequel je dois faire la maj (chaque utilisateur a renommé son fichier) par contre j'ai le mdp du projet.
Help.......
anonymousA
bonjour,
dans ta procédure il faut inserer l'appel à la procédure UnprotectVBProject communiquée ci-dessous For Each Classeur In Workbooks UnprotectVBProject classeur, "mdp" .......... la suite de ta procédure
Sub UnprotectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object
Set vbProj = WB.VBProject
If vbProj.Protection <> 1 Then Exit Sub with Application.VBE Set .ActiveVBProject = vbProj SendKeys Password & "~~" .CommandBars(1).FindControl(ID:%78, recursive:=True).Execute end with
End Sub
Ceci dit, j'attire ton attention sur le fait que tu vas parcourir la collection de tous les modules c.à.d les modules de feuille et du classeur, de userform , les modules standard et de classe mais c'est peut être ce que tu souhaites ! Enfin les projets que tu auras déprotégés ne redeviendront protégés qu'à la refermeture des fichiers.
A+
J'ai regardé l'aide mais je n'arrive pas à mettre en place la déprotection. J'ai crée un nouveau classeur (MAJ RAF.xls) avec un module (ModuleMaj) dans lequel j'ai mis la procédure suivante :
Sub traitement() Dim Classeur As Workbook Dim Module As Object Dim Rechercher As String Dim Remplacer As String Dim Trouver As Integer Dim I As Integer
Rechercher = "C:gaf_exp.txt" Remplacer = "C:GRAVDIRGAFgaf_exp.txt" For Each Classeur In Workbooks For Each Module In Classeur.VBProject.VBComponents With Module.CodeModule If Module.Name <> "ModuleMaj" Then For I = 1 To .CountOfLines Trouver = InStr(.Lines(I, 1), Rechercher) If Trouver > 0 Then 'si une occurrence est trouvée, fait la modif et boucle 'sur la ligne afin de remplacer tous les mots Do .ReplaceLine I, Left(.Lines(I, 1) _ , Trouver - 1) & Remplacer & _ Mid(.Lines(I, 1), _ Trouver + Len(Rechercher) _ , Len(.Lines(I, 1))) Trouver = InStr(Trouver + 1, _ .Lines(I, 1), Rechercher) Loop While Trouver <> 0 End If Next I End If End With Next Module Next Classeur Set Classeur = Nothing Set Module = Nothing MsgBox ("MAJ terminée") End Sub
Je ne connais pas le nom du classeur dans lequel je dois faire la maj (chaque utilisateur a renommé son fichier) par contre j'ai le mdp du projet.
Help.......
bonjour,
dans ta procédure il faut inserer l'appel à la procédure UnprotectVBProject
communiquée ci-dessous
For Each Classeur In Workbooks
UnprotectVBProject classeur, "mdp"
.......... la suite de ta procédure
Sub UnprotectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object
Set vbProj = WB.VBProject
If vbProj.Protection <> 1 Then Exit Sub
with Application.VBE
Set .ActiveVBProject = vbProj
SendKeys Password & "~~"
.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute
end with
End Sub
Ceci dit, j'attire ton attention sur le fait que tu vas parcourir la
collection de tous les modules c.à.d les modules de feuille et du classeur,
de userform , les modules standard et de classe mais c'est peut être ce que
tu souhaites !
Enfin les projets que tu auras déprotégés ne redeviendront protégés qu'à la
refermeture des fichiers.
A+
J'ai regardé l'aide mais je n'arrive pas à mettre en place la déprotection.
J'ai crée un nouveau classeur (MAJ RAF.xls) avec un module (ModuleMaj) dans
lequel j'ai mis la procédure suivante :
Sub traitement()
Dim Classeur As Workbook
Dim Module As Object
Dim Rechercher As String
Dim Remplacer As String
Dim Trouver As Integer
Dim I As Integer
Rechercher = "C:gaf_exp.txt"
Remplacer = "C:GRAVDIRGAFgaf_exp.txt"
For Each Classeur In Workbooks
For Each Module In Classeur.VBProject.VBComponents
With Module.CodeModule
If Module.Name <> "ModuleMaj" Then
For I = 1 To .CountOfLines
Trouver = InStr(.Lines(I, 1), Rechercher)
If Trouver > 0 Then
'si une occurrence est trouvée, fait la modif et boucle
'sur la ligne afin de remplacer tous les mots
Do
.ReplaceLine I, Left(.Lines(I, 1) _
, Trouver - 1) & Remplacer & _
Mid(.Lines(I, 1), _
Trouver + Len(Rechercher) _
, Len(.Lines(I, 1)))
Trouver = InStr(Trouver + 1, _
.Lines(I, 1), Rechercher)
Loop While Trouver <> 0
End If
Next I
End If
End With
Next Module
Next Classeur
Set Classeur = Nothing
Set Module = Nothing
MsgBox ("MAJ terminée")
End Sub
Je ne connais pas le nom du classeur dans lequel je dois faire la maj
(chaque utilisateur a renommé son fichier) par contre j'ai le mdp du projet.
dans ta procédure il faut inserer l'appel à la procédure UnprotectVBProject communiquée ci-dessous For Each Classeur In Workbooks UnprotectVBProject classeur, "mdp" .......... la suite de ta procédure
Sub UnprotectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object
Set vbProj = WB.VBProject
If vbProj.Protection <> 1 Then Exit Sub with Application.VBE Set .ActiveVBProject = vbProj SendKeys Password & "~~" .CommandBars(1).FindControl(ID:%78, recursive:=True).Execute end with
End Sub
Ceci dit, j'attire ton attention sur le fait que tu vas parcourir la collection de tous les modules c.à.d les modules de feuille et du classeur, de userform , les modules standard et de classe mais c'est peut être ce que tu souhaites ! Enfin les projets que tu auras déprotégés ne redeviendront protégés qu'à la refermeture des fichiers.
A+
J'ai regardé l'aide mais je n'arrive pas à mettre en place la déprotection. J'ai crée un nouveau classeur (MAJ RAF.xls) avec un module (ModuleMaj) dans lequel j'ai mis la procédure suivante :
Sub traitement() Dim Classeur As Workbook Dim Module As Object Dim Rechercher As String Dim Remplacer As String Dim Trouver As Integer Dim I As Integer
Rechercher = "C:gaf_exp.txt" Remplacer = "C:GRAVDIRGAFgaf_exp.txt" For Each Classeur In Workbooks For Each Module In Classeur.VBProject.VBComponents With Module.CodeModule If Module.Name <> "ModuleMaj" Then For I = 1 To .CountOfLines Trouver = InStr(.Lines(I, 1), Rechercher) If Trouver > 0 Then 'si une occurrence est trouvée, fait la modif et boucle 'sur la ligne afin de remplacer tous les mots Do .ReplaceLine I, Left(.Lines(I, 1) _ , Trouver - 1) & Remplacer & _ Mid(.Lines(I, 1), _ Trouver + Len(Rechercher) _ , Len(.Lines(I, 1))) Trouver = InStr(Trouver + 1, _ .Lines(I, 1), Rechercher) Loop While Trouver <> 0 End If Next I End If End With Next Module Next Classeur Set Classeur = Nothing Set Module = Nothing MsgBox ("MAJ terminée") End Sub
Je ne connais pas le nom du classeur dans lequel je dois faire la maj (chaque utilisateur a renommé son fichier) par contre j'ai le mdp du projet.
Help.......
Beabou
Je viens d'essayer mais ça ne fonctionne pas !!
Il y a peut-être moyen de simplifier la procédure sachant que : Je ne connais pas le nom du classeur dans lequel s'effectue la procédure Je connais le nom du module et de la procédure. Je connais le mdp du projet.
Je viens d'essayer mais ça ne fonctionne pas !!
Il y a peut-être moyen de simplifier la procédure sachant que :
Je ne connais pas le nom du classeur dans lequel s'effectue la procédure
Je connais le nom du module et de la procédure.
Je connais le mdp du projet.
Il y a peut-être moyen de simplifier la procédure sachant que : Je ne connais pas le nom du classeur dans lequel s'effectue la procédure Je connais le nom du module et de la procédure. Je connais le mdp du projet.
anonymousA
re,
la procédure de déprotection fonctionne..ca c'est certain . Si tu le souhaites , envoies sur ma bal perso () ta procédure et un exemple de classeur à déproteger, ce qui implique bien sur que tu n'omettes pas de me donner le mot de passe. C'est comme tu le sens. Je te ferai ça Dimanche soir. Peux pas avant.
A+
Je viens d'essayer mais ça ne fonctionne pas !!
Il y a peut-être moyen de simplifier la procédure sachant que : Je ne connais pas le nom du classeur dans lequel s'effectue la procédure Je connais le nom du module et de la procédure. Je connais le mdp du projet.
re,
la procédure de déprotection fonctionne..ca c'est certain . Si tu le
souhaites , envoies sur ma bal perso (anonymouA@wanadoo.fr) ta procédure et
un exemple de classeur à déproteger, ce qui implique bien sur que tu
n'omettes pas de me donner le mot de passe.
C'est comme tu le sens. Je te ferai ça Dimanche soir. Peux pas avant.
A+
Je viens d'essayer mais ça ne fonctionne pas !!
Il y a peut-être moyen de simplifier la procédure sachant que :
Je ne connais pas le nom du classeur dans lequel s'effectue la procédure
Je connais le nom du module et de la procédure.
Je connais le mdp du projet.
la procédure de déprotection fonctionne..ca c'est certain . Si tu le souhaites , envoies sur ma bal perso () ta procédure et un exemple de classeur à déproteger, ce qui implique bien sur que tu n'omettes pas de me donner le mot de passe. C'est comme tu le sens. Je te ferai ça Dimanche soir. Peux pas avant.
A+
Je viens d'essayer mais ça ne fonctionne pas !!
Il y a peut-être moyen de simplifier la procédure sachant que : Je ne connais pas le nom du classeur dans lequel s'effectue la procédure Je connais le nom du module et de la procédure. Je connais le mdp du projet.