[VBA] Déprotéger un projet VBA à partir d'une macro
7 réponses
HD
Bonjour,
Je cherche à déprotéger des projets VBA via une macro VBA. Sur le net, j'ai
trouvé un code mais qui semble s'appliquer aux anciennes versions d'Excel.
Je suis sous Excel 2007.
Sub CopieCodeModule()
Dim S As String, Wbk As Workbook
'module à copier
With ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule
S = .Lines(1, .CountOfLines)
End With
Set Wbk = Workbooks("Perso.xls")
UnprotectVBProject Wbk, "MotDePasse"
'détruire le module à mettre à jour s'il existe
On Error Resume Next
With Wbk.VBProject.VBComponents
.Remove .Item("MonModule")
End With
On Error GoTo 0
'ajouter un nouveau module et copier le code
Wbk.VBProject.VBComponents.Add(1).Name = "MonModule"
With Wbk.VBProject.VBComponents("MonModule").CodeModule
.AddFromString S
End With
End Sub
Sub UnprotectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object
Set vbProj = WB.VBProject
If vbProj.Protection 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = vbProj
SendKeys Password & "~~~"
Application.VBE.CommandBars(1).FindControl(ID:=2578,
recursive:=True).Execute
End Sub
Auriez vous une méthode pour déprotéger un projet VBA à partir du VBA avec
Excel 2007 ? J'ai put adapter un code pour simuler les combinaisons de
touche :
Sub DeprotVBA()
Application.SendKeys ("%{F11}")
Application.SendKeys ("%o")
Application.SendKeys ("e")
Application.SendKeys ("mon_mot_de_passe{ENTER}")
Application.SendKeys ("{ENTER}")
End Sub
mais elle ne fonctionne que si le lance seul... dès que je tente de le
lancer à partir d'une macro comportant d'autres lignes de codes alors je
tombe sur la boîte de dialogue me demandant le mot de passe... bien entendu
si j'essai d'adapter en ajouter
Application.SendKeys ("mon_mot_de_passe{ENTER}")
Application.SendKeys ("{ENTER}")
cela ne change rien...
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
HD
J'ai réussi à adapter une procédure... pour info:
Sub TestunProtect() UnProtectVBProject Workbooks("monclasseur.xls"), "monmotdepasse" End Sub
Sub ProtectVBProject(WB As Workbook, ByVal Password As String) Dim vbProj As Object Set vbProj = WB.VBProject If vbProj.Protection = 1 Then Exit Sub Set Application.VBE.ActiveVBProject = vbProj Application.VBE.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute SendKeys "+{TAB}{RIGHT}%V{+}{TAB}" & Password & "{TAB}" & Password & "~", True 'WB.Save 'WB.Close End Sub
Sub UnProtectVBProject(WB As Workbook, ByVal Password As String) Dim vbProj As Object Set vbProj = WB.VBProject If vbProj.Protection <> 1 Then Exit Sub Set Application.VBE.ActiveVBProject = vbProj Application.VBE.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute SendKeys Password & "~" SendKeys "~" 'WB.Save 'WB.Close End Sub
-- @+ HD
J'ai réussi à adapter une procédure... pour info:
Sub TestunProtect()
UnProtectVBProject Workbooks("monclasseur.xls"), "monmotdepasse"
End Sub
Sub ProtectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object
Set vbProj = WB.VBProject
If vbProj.Protection = 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = vbProj
Application.VBE.CommandBars(1).FindControl(ID:%78,
recursive:=True).Execute
SendKeys "+{TAB}{RIGHT}%V{+}{TAB}" & Password & "{TAB}" & Password & "~",
True
'WB.Save
'WB.Close
End Sub
Sub UnProtectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object
Set vbProj = WB.VBProject
If vbProj.Protection <> 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = vbProj
Application.VBE.CommandBars(1).FindControl(ID:%78,
recursive:=True).Execute
SendKeys Password & "~"
SendKeys "~"
'WB.Save
'WB.Close
End Sub
Sub TestunProtect() UnProtectVBProject Workbooks("monclasseur.xls"), "monmotdepasse" End Sub
Sub ProtectVBProject(WB As Workbook, ByVal Password As String) Dim vbProj As Object Set vbProj = WB.VBProject If vbProj.Protection = 1 Then Exit Sub Set Application.VBE.ActiveVBProject = vbProj Application.VBE.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute SendKeys "+{TAB}{RIGHT}%V{+}{TAB}" & Password & "{TAB}" & Password & "~", True 'WB.Save 'WB.Close End Sub
Sub UnProtectVBProject(WB As Workbook, ByVal Password As String) Dim vbProj As Object Set vbProj = WB.VBProject If vbProj.Protection <> 1 Then Exit Sub Set Application.VBE.ActiveVBProject = vbProj Application.VBE.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute SendKeys Password & "~" SendKeys "~" 'WB.Save 'WB.Close End Sub
-- @+ HD
MichD
Bnnjour,
Essaie comme ceci :
Tu insères un module standard et tu y copies le code suivant: Tu lances la procédure : "OterProtectionPRojetVBA" La macro doit être lancée à partir de l'interface de la feuille de calcul et non directement à partir de la fenêtre de l'éditeur de code.
Quelques variables à renseigner : "MotDePasse" , Nom du classeur : "perso.xls" et nom du module à supprimer et à ajouter dans la procédure : "CopieCodeModule"
'----------------------------------------------- Sub OterProtectionPRojetVBA() 'mot de passe : "denis" pour déprotéger le classer UnprotectVBProject Workbooks("Perso.xls"), "MotDePasse" End Sub '----------------------------------------------- Sub UnprotectVBProject(WB As Workbook, ByVal Password As String) Dim vbProj As Object
Set vbProj = WB.VBProject
'Ne peut procéder si le projet est non-protégé. If vbProj.Protection <> 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = vbProj
'Utilisation de "SendKeys" Pour envoyer le mot de passe.
SendKeys Password & "~~" 'MsgBox "Après Mot de passe" Application.VBE.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute Application.Wait (Now + TimeValue("0:00:1")) CopieCodeModule End Sub '----------------------------------------------- Sub CopieCodeModule() Dim S As String, Wbk As Workbook 'module à copier With ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule S = .Lines(1, .CountOfLines) End With Set Wbk = Workbooks("Perso.xls") 'détruire le module à mettre à jour s'il existe On Error Resume Next With Wbk.VBProject.VBComponents .Remove .Item("MonModule") End With On Error GoTo 0 'ajouter un nouveau module et copier le code Wbk.VBProject.VBComponents.Add(1).Name = "MonModule" With Wbk.VBProject.VBComponents("MonModule").CodeModule .AddFromString S End With End Sub '-----------------------------------------------
MichD -------------------------------------------- "HD" a écrit dans le message de groupe de discussion : itcsa2$1nts$
Bonjour,
Je cherche à déprotéger des projets VBA via une macro VBA. Sur le net, j'ai trouvé un code mais qui semble s'appliquer aux anciennes versions d'Excel. Je suis sous Excel 2007.
Sub CopieCodeModule() Dim S As String, Wbk As Workbook 'module à copier With ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule S = .Lines(1, .CountOfLines) End With Set Wbk = Workbooks("Perso.xls") UnprotectVBProject Wbk, "MotDePasse" 'détruire le module à mettre à jour s'il existe On Error Resume Next With Wbk.VBProject.VBComponents .Remove .Item("MonModule") End With On Error GoTo 0 'ajouter un nouveau module et copier le code Wbk.VBProject.VBComponents.Add(1).Name = "MonModule" With Wbk.VBProject.VBComponents("MonModule").CodeModule .AddFromString S End With End Sub
Sub UnprotectVBProject(WB As Workbook, ByVal Password As String) Dim vbProj As Object Set vbProj = WB.VBProject If vbProj.Protection 1 Then Exit Sub Set Application.VBE.ActiveVBProject = vbProj SendKeys Password & "~~~" Application.VBE.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute End Sub
Auriez vous une méthode pour déprotéger un projet VBA à partir du VBA avec Excel 2007 ? J'ai put adapter un code pour simuler les combinaisons de touche : Sub DeprotVBA() Application.SendKeys ("%{F11}") Application.SendKeys ("%o") Application.SendKeys ("e") Application.SendKeys ("mon_mot_de_passe{ENTER}") Application.SendKeys ("{ENTER}") End Sub
mais elle ne fonctionne que si le lance seul... dès que je tente de le lancer à partir d'une macro comportant d'autres lignes de codes alors je tombe sur la boîte de dialogue me demandant le mot de passe... bien entendu si j'essai d'adapter en ajouter Application.SendKeys ("mon_mot_de_passe{ENTER}") Application.SendKeys ("{ENTER}") cela ne change rien...
-- @+ HD
Bnnjour,
Essaie comme ceci :
Tu insères un module standard et tu y copies le code suivant:
Tu lances la procédure : "OterProtectionPRojetVBA"
La macro doit être lancée à partir de l'interface de la feuille de calcul et
non directement à partir de la fenêtre de l'éditeur de code.
Quelques variables à renseigner : "MotDePasse" , Nom du classeur : "perso.xls"
et nom du module à supprimer et à ajouter dans la procédure : "CopieCodeModule"
'-----------------------------------------------
Sub OterProtectionPRojetVBA()
'mot de passe : "denis" pour déprotéger le classer
UnprotectVBProject Workbooks("Perso.xls"), "MotDePasse"
End Sub
'-----------------------------------------------
Sub UnprotectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object
Set vbProj = WB.VBProject
'Ne peut procéder si le projet est non-protégé.
If vbProj.Protection <> 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = vbProj
'Utilisation de "SendKeys" Pour envoyer le mot de passe.
SendKeys Password & "~~"
'MsgBox "Après Mot de passe"
Application.VBE.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute
Application.Wait (Now + TimeValue("0:00:1"))
CopieCodeModule
End Sub
'-----------------------------------------------
Sub CopieCodeModule()
Dim S As String, Wbk As Workbook
'module à copier
With ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule
S = .Lines(1, .CountOfLines)
End With
Set Wbk = Workbooks("Perso.xls")
'détruire le module à mettre à jour s'il existe
On Error Resume Next
With Wbk.VBProject.VBComponents
.Remove .Item("MonModule")
End With
On Error GoTo 0
'ajouter un nouveau module et copier le code
Wbk.VBProject.VBComponents.Add(1).Name = "MonModule"
With Wbk.VBProject.VBComponents("MonModule").CodeModule
.AddFromString S
End With
End Sub
'-----------------------------------------------
MichD
--------------------------------------------
"HD" a écrit dans le message de groupe de discussion : itcsa2$1nts$1@saria.nerim.net...
Bonjour,
Je cherche à déprotéger des projets VBA via une macro VBA. Sur le net, j'ai
trouvé un code mais qui semble s'appliquer aux anciennes versions d'Excel.
Je suis sous Excel 2007.
Sub CopieCodeModule()
Dim S As String, Wbk As Workbook
'module à copier
With ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule
S = .Lines(1, .CountOfLines)
End With
Set Wbk = Workbooks("Perso.xls")
UnprotectVBProject Wbk, "MotDePasse"
'détruire le module à mettre à jour s'il existe
On Error Resume Next
With Wbk.VBProject.VBComponents
.Remove .Item("MonModule")
End With
On Error GoTo 0
'ajouter un nouveau module et copier le code
Wbk.VBProject.VBComponents.Add(1).Name = "MonModule"
With Wbk.VBProject.VBComponents("MonModule").CodeModule
.AddFromString S
End With
End Sub
Sub UnprotectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object
Set vbProj = WB.VBProject
If vbProj.Protection 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = vbProj
SendKeys Password & "~~~"
Application.VBE.CommandBars(1).FindControl(ID:%78,
recursive:=True).Execute
End Sub
Auriez vous une méthode pour déprotéger un projet VBA à partir du VBA avec
Excel 2007 ? J'ai put adapter un code pour simuler les combinaisons de
touche :
Sub DeprotVBA()
Application.SendKeys ("%{F11}")
Application.SendKeys ("%o")
Application.SendKeys ("e")
Application.SendKeys ("mon_mot_de_passe{ENTER}")
Application.SendKeys ("{ENTER}")
End Sub
mais elle ne fonctionne que si le lance seul... dès que je tente de le
lancer à partir d'une macro comportant d'autres lignes de codes alors je
tombe sur la boîte de dialogue me demandant le mot de passe... bien entendu
si j'essai d'adapter en ajouter
Application.SendKeys ("mon_mot_de_passe{ENTER}")
Application.SendKeys ("{ENTER}")
cela ne change rien...
Tu insères un module standard et tu y copies le code suivant: Tu lances la procédure : "OterProtectionPRojetVBA" La macro doit être lancée à partir de l'interface de la feuille de calcul et non directement à partir de la fenêtre de l'éditeur de code.
Quelques variables à renseigner : "MotDePasse" , Nom du classeur : "perso.xls" et nom du module à supprimer et à ajouter dans la procédure : "CopieCodeModule"
'----------------------------------------------- Sub OterProtectionPRojetVBA() 'mot de passe : "denis" pour déprotéger le classer UnprotectVBProject Workbooks("Perso.xls"), "MotDePasse" End Sub '----------------------------------------------- Sub UnprotectVBProject(WB As Workbook, ByVal Password As String) Dim vbProj As Object
Set vbProj = WB.VBProject
'Ne peut procéder si le projet est non-protégé. If vbProj.Protection <> 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = vbProj
'Utilisation de "SendKeys" Pour envoyer le mot de passe.
SendKeys Password & "~~" 'MsgBox "Après Mot de passe" Application.VBE.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute Application.Wait (Now + TimeValue("0:00:1")) CopieCodeModule End Sub '----------------------------------------------- Sub CopieCodeModule() Dim S As String, Wbk As Workbook 'module à copier With ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule S = .Lines(1, .CountOfLines) End With Set Wbk = Workbooks("Perso.xls") 'détruire le module à mettre à jour s'il existe On Error Resume Next With Wbk.VBProject.VBComponents .Remove .Item("MonModule") End With On Error GoTo 0 'ajouter un nouveau module et copier le code Wbk.VBProject.VBComponents.Add(1).Name = "MonModule" With Wbk.VBProject.VBComponents("MonModule").CodeModule .AddFromString S End With End Sub '-----------------------------------------------
MichD -------------------------------------------- "HD" a écrit dans le message de groupe de discussion : itcsa2$1nts$
Bonjour,
Je cherche à déprotéger des projets VBA via une macro VBA. Sur le net, j'ai trouvé un code mais qui semble s'appliquer aux anciennes versions d'Excel. Je suis sous Excel 2007.
Sub CopieCodeModule() Dim S As String, Wbk As Workbook 'module à copier With ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule S = .Lines(1, .CountOfLines) End With Set Wbk = Workbooks("Perso.xls") UnprotectVBProject Wbk, "MotDePasse" 'détruire le module à mettre à jour s'il existe On Error Resume Next With Wbk.VBProject.VBComponents .Remove .Item("MonModule") End With On Error GoTo 0 'ajouter un nouveau module et copier le code Wbk.VBProject.VBComponents.Add(1).Name = "MonModule" With Wbk.VBProject.VBComponents("MonModule").CodeModule .AddFromString S End With End Sub
Sub UnprotectVBProject(WB As Workbook, ByVal Password As String) Dim vbProj As Object Set vbProj = WB.VBProject If vbProj.Protection 1 Then Exit Sub Set Application.VBE.ActiveVBProject = vbProj SendKeys Password & "~~~" Application.VBE.CommandBars(1).FindControl(ID:%78, recursive:=True).Execute End Sub
Auriez vous une méthode pour déprotéger un projet VBA à partir du VBA avec Excel 2007 ? J'ai put adapter un code pour simuler les combinaisons de touche : Sub DeprotVBA() Application.SendKeys ("%{F11}") Application.SendKeys ("%o") Application.SendKeys ("e") Application.SendKeys ("mon_mot_de_passe{ENTER}") Application.SendKeys ("{ENTER}") End Sub
mais elle ne fonctionne que si le lance seul... dès que je tente de le lancer à partir d'une macro comportant d'autres lignes de codes alors je tombe sur la boîte de dialogue me demandant le mot de passe... bien entendu si j'essai d'adapter en ajouter Application.SendKeys ("mon_mot_de_passe{ENTER}") Application.SendKeys ("{ENTER}") cela ne change rien...
-- @+ HD
HD
Un grand MERCI à toi !!! ça fonctionne (ma macro précédente avait des soucis dû au Wait de 1 seconde qui me manquait...)
-- @+ HD
Un grand MERCI à toi !!! ça fonctionne
(ma macro précédente avait des soucis dû au Wait de 1 seconde qui me
manquait...)
Un grand MERCI à toi !!! ça fonctionne (ma macro précédente avait des soucis dû au Wait de 1 seconde qui me manquait...)
-- @+ HD
HD
SendKeys Password & "~~"
Petite question à propos du sendkeys... il me semble que si je lance des macros en rafale utilisant cette procédure il est alors déconseillé d'utiliser d'autres programmes vu que j'aurais le clavier à utiliser...
-- @+ HD
SendKeys Password & "~~"
Petite question à propos du sendkeys... il me semble que si je lance des
macros en rafale utilisant cette procédure il est alors déconseillé
d'utiliser d'autres programmes vu que j'aurais le clavier à utiliser...
Petite question à propos du sendkeys... il me semble que si je lance des macros en rafale utilisant cette procédure il est alors déconseillé d'utiliser d'autres programmes vu que j'aurais le clavier à utiliser...
-- @+ HD
MichD
Bonjour,
Quand il y a moyen de se passer de "Sendkeys" et qu'on peut la remplacer par une autre commande, il ne faut pas hésiter à cause du caractère même de cette commande. Cela étant dit, dans ton cas, cette commande est nécessaire et il n'existe pas une manière de contourner sont utilisation. Teste la macro dans l'environnement qu'elle sera employée, si elle fonctionne, d'où émane cette préoccupation ?
MichD -------------------------------------------- "HD" a écrit dans le message de groupe de discussion : itd6ht$25mv$
SendKeys Password & "~~"
Petite question à propos du sendkeys... il me semble que si je lance des macros en rafale utilisant cette procédure il est alors déconseillé d'utiliser d'autres programmes vu que j'aurais le clavier à utiliser...
-- @+ HD
Bonjour,
Quand il y a moyen de se passer de "Sendkeys" et qu'on peut la remplacer par une autre commande, il ne faut pas hésiter
à cause du caractère même de cette commande. Cela étant dit, dans ton cas, cette commande est nécessaire et il n'existe
pas une manière de contourner sont utilisation. Teste la macro dans l'environnement qu'elle sera employée, si elle
fonctionne, d'où émane cette préoccupation ?
MichD
--------------------------------------------
"HD" a écrit dans le message de groupe de discussion : itd6ht$25mv$1@saria.nerim.net...
SendKeys Password & "~~"
Petite question à propos du sendkeys... il me semble que si je lance des
macros en rafale utilisant cette procédure il est alors déconseillé
d'utiliser d'autres programmes vu que j'aurais le clavier à utiliser...
Quand il y a moyen de se passer de "Sendkeys" et qu'on peut la remplacer par une autre commande, il ne faut pas hésiter à cause du caractère même de cette commande. Cela étant dit, dans ton cas, cette commande est nécessaire et il n'existe pas une manière de contourner sont utilisation. Teste la macro dans l'environnement qu'elle sera employée, si elle fonctionne, d'où émane cette préoccupation ?
MichD -------------------------------------------- "HD" a écrit dans le message de groupe de discussion : itd6ht$25mv$
SendKeys Password & "~~"
Petite question à propos du sendkeys... il me semble que si je lance des macros en rafale utilisant cette procédure il est alors déconseillé d'utiliser d'autres programmes vu que j'aurais le clavier à utiliser...
-- @+ HD
HD
d'où émane cette préoccupation ?
Arfff... elle émane du fait que pendant que ma macro tourne et lance des sendkey à profusion je préfére ne pas toucher à mon pc de peur d'avoir des soucis dans la macro... c'est vrai que ça monopolise le PC mais bon c'est un mal nécessaire. lol
C'est dommage qu'il n'y ai pas d'autres moyens de déprotégrer le projet VBA. Espérons que cela sera possible dans les prochaines versions d'Excel.
-- @+ HD
d'où émane cette préoccupation ?
Arfff... elle émane du fait que pendant que ma macro tourne et lance des
sendkey à profusion je préfére ne pas toucher à mon pc de peur d'avoir des
soucis dans la macro... c'est vrai que ça monopolise le PC mais bon c'est un
mal nécessaire. lol
C'est dommage qu'il n'y ai pas d'autres moyens de déprotégrer le projet VBA.
Espérons que cela sera possible dans les prochaines versions d'Excel.
Arfff... elle émane du fait que pendant que ma macro tourne et lance des sendkey à profusion je préfére ne pas toucher à mon pc de peur d'avoir des soucis dans la macro... c'est vrai que ça monopolise le PC mais bon c'est un mal nécessaire. lol
C'est dommage qu'il n'y ai pas d'autres moyens de déprotégrer le projet VBA. Espérons que cela sera possible dans les prochaines versions d'Excel.
-- @+ HD
Gloops
HD a écrit, le 17/06/2011 09:27 :
d'où émane cette préoccupation ?
Arfff... elle émane du fait que pendant que ma macro tourne et lance des sendkey à profusion je préfére ne pas toucher à mon pc de peur d'avoir des soucis dans la macro... c'est vrai que ça monopolise le PC mais bon c 'est un mal nécessaire. lol
C'est dommage qu'il n'y ai pas d'autres moyens de déprotégrer le pr ojet VBA. Espérons que cela sera possible dans les prochaines versions d'Excel.
Bonjour,
Est-ce que ce n'est pas une considération de sécurité qui amène à dire que si c'est l'utilisateur qui veut modifier la protection du projet, c'est à lui de le faire, et non à une macro ?
Pour que les simulations de touches partent bien vers la bonne fenêtre il y aurait bien l'utilisation de SendMessage, mais ça, il m'a semblé repérer que ce n'est pas un jouet pour débutants.
HD a écrit, le 17/06/2011 09:27 :
d'où émane cette préoccupation ?
Arfff... elle émane du fait que pendant que ma macro tourne et lance des
sendkey à profusion je préfére ne pas toucher à mon pc de peur d'avoir des
soucis dans la macro... c'est vrai que ça monopolise le PC mais bon c 'est un
mal nécessaire. lol
C'est dommage qu'il n'y ai pas d'autres moyens de déprotégrer le pr ojet VBA.
Espérons que cela sera possible dans les prochaines versions d'Excel.
Bonjour,
Est-ce que ce n'est pas une considération de sécurité qui amène à dire
que si c'est l'utilisateur qui veut modifier la protection du projet,
c'est à lui de le faire, et non à une macro ?
Pour que les simulations de touches partent bien vers la bonne fenêtre
il y aurait bien l'utilisation de SendMessage, mais ça, il m'a semblé
repérer que ce n'est pas un jouet pour débutants.
Arfff... elle émane du fait que pendant que ma macro tourne et lance des sendkey à profusion je préfére ne pas toucher à mon pc de peur d'avoir des soucis dans la macro... c'est vrai que ça monopolise le PC mais bon c 'est un mal nécessaire. lol
C'est dommage qu'il n'y ai pas d'autres moyens de déprotégrer le pr ojet VBA. Espérons que cela sera possible dans les prochaines versions d'Excel.
Bonjour,
Est-ce que ce n'est pas une considération de sécurité qui amène à dire que si c'est l'utilisateur qui veut modifier la protection du projet, c'est à lui de le faire, et non à une macro ?
Pour que les simulations de touches partent bien vers la bonne fenêtre il y aurait bien l'utilisation de SendMessage, mais ça, il m'a semblé repérer que ce n'est pas un jouet pour débutants.