bruno.launay@amio.fr
XLDnaute Nouveau
Bonjour le forum,
J'ai développé sur Excel un outil de réalisation de devis, que j'ai dû enregistrer en.xlm, car lorsque je l'enregistre sur .xls un message me dit que les macro ne peuvent pas fonctionner, personnellement je n'est pas essayé.
Mon problème, j'ai mis en place un bouton pour ajouter des lignes sur deux feuilles qui possèdent des cellules en relation. Celui-ci se trouve sur la feuille "ACHAT EURO" et la deuxième feuille est celle qui me permet de réaliser mon offre avec les produits importés qui s'appelle "IMPORTATION".
J'ai donc réalisé une macro :
Sub InsertionLignes()
' InsertionLignes Macro
Range("A40:K44").Select
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
Range("D45:I49").Select
End Sub
Sub InsertionLignesImportation()
' InsertionLignesImportation Macro
Sheets("IMPORTATION").Select
Range("A40:K44").Select
Application.CutCopyMode = False
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
End Sub
Celle-ci fonctionne très bien
Je veux verrouiller cette application de façon à ce que les utilisateurs ne modifie pas la structure et les formules utilisées, pour cela j'ai intégré l'activation d'un mot de passe dans ma macro :
Sub InsertionLignes()
ActiveSheet.Unprotect ("MDP")
' InsertionLignes Macro
Range("A40:K44").Select
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
Range("D45:I49").Select
ActiveSheet.Protect ("MDP")
End Sub
Sub InsertionLignesImportation()
' InsertionLignesImportation Macro
Sheets("IMPORTATION").Select
Range("A40:K44").Select
Application.CutCopyMode = False
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
End Sub
J'active la protection de mes deux feuilles, le fonctionnement est bon, j'ajoute bien les cinq lignes sur ma page "ACHAT EURO" et sur la feuille "IMPORTATION" et les formules sont bien présente.
Je modifie à nouveau ma macro :
Sub InsertionLignes()
ActiveSheet.Unprotect ("y3wDx:6%5L")
' InsertionLignes Macro
Range("A40:K44").Select
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
Range("D45:I49").Select
ActiveSheet.Protect ("y3wDx:6%5L")
End Sub
Sub InsertionLignesImportation()
ActiveSheet.Unprotect ("y3wDx:6%5L")
' InsertionLignesImportation Macro
Sheets("IMPORTATION").Select
Range("A40:K44").Select
Application.CutCopyMode = False
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
ActiveSheet.Protect ("y3wDx:6%5L")
End Sub
Je protège ma feuille "ACHAT EURO" et la feuille "IMPORTATION" reste sans protection, les lignes s'ajoutent bien sur les deux feuilles et les formules fonctionnent
Si je protège les deux feuilles "ACHAT EURO" et la feuille "IMPORTATION" et je lance la macro, j'ai un message qui apparaît sur la feuille "IMPORTATION":
"Erreur d'exécution 1004", La méthode Insert de la classe Range a échoué
J'appuis sur "FIN"
Aucune ligne s'ajoute sur ces deux feuilles et la feuille "ACHAT EURO" reste déverrouillée et la "IMPORTATION" reste verrouillée
Je vous remercie d'avance pour votre aide sur ce sujet
Cordialement
Bruno
J'ai développé sur Excel un outil de réalisation de devis, que j'ai dû enregistrer en.xlm, car lorsque je l'enregistre sur .xls un message me dit que les macro ne peuvent pas fonctionner, personnellement je n'est pas essayé.
Mon problème, j'ai mis en place un bouton pour ajouter des lignes sur deux feuilles qui possèdent des cellules en relation. Celui-ci se trouve sur la feuille "ACHAT EURO" et la deuxième feuille est celle qui me permet de réaliser mon offre avec les produits importés qui s'appelle "IMPORTATION".
J'ai donc réalisé une macro :
Sub InsertionLignes()
' InsertionLignes Macro
Range("A40:K44").Select
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
Range("D45:I49").Select
End Sub
Sub InsertionLignesImportation()
' InsertionLignesImportation Macro
Sheets("IMPORTATION").Select
Range("A40:K44").Select
Application.CutCopyMode = False
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
End Sub
Celle-ci fonctionne très bien
Je veux verrouiller cette application de façon à ce que les utilisateurs ne modifie pas la structure et les formules utilisées, pour cela j'ai intégré l'activation d'un mot de passe dans ma macro :
Sub InsertionLignes()
ActiveSheet.Unprotect ("MDP")
' InsertionLignes Macro
Range("A40:K44").Select
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
Range("D45:I49").Select
ActiveSheet.Protect ("MDP")
End Sub
Sub InsertionLignesImportation()
' InsertionLignesImportation Macro
Sheets("IMPORTATION").Select
Range("A40:K44").Select
Application.CutCopyMode = False
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
End Sub
J'active la protection de mes deux feuilles, le fonctionnement est bon, j'ajoute bien les cinq lignes sur ma page "ACHAT EURO" et sur la feuille "IMPORTATION" et les formules sont bien présente.
Je modifie à nouveau ma macro :
Sub InsertionLignes()
ActiveSheet.Unprotect ("y3wDx:6%5L")
' InsertionLignes Macro
Range("A40:K44").Select
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
Range("D45:I49").Select
ActiveSheet.Protect ("y3wDx:6%5L")
End Sub
Sub InsertionLignesImportation()
ActiveSheet.Unprotect ("y3wDx:6%5L")
' InsertionLignesImportation Macro
Sheets("IMPORTATION").Select
Range("A40:K44").Select
Application.CutCopyMode = False
Selection.Copy
Rows("45:45").Select
Selection.Insert Shift:=xlDown
ActiveSheet.Protect ("y3wDx:6%5L")
End Sub
Je protège ma feuille "ACHAT EURO" et la feuille "IMPORTATION" reste sans protection, les lignes s'ajoutent bien sur les deux feuilles et les formules fonctionnent
Si je protège les deux feuilles "ACHAT EURO" et la feuille "IMPORTATION" et je lance la macro, j'ai un message qui apparaît sur la feuille "IMPORTATION":
"Erreur d'exécution 1004", La méthode Insert de la classe Range a échoué
J'appuis sur "FIN"
Aucune ligne s'ajoute sur ces deux feuilles et la feuille "ACHAT EURO" reste déverrouillée et la "IMPORTATION" reste verrouillée
Je vous remercie d'avance pour votre aide sur ce sujet
Cordialement
Bruno