Erreur d'exécution 1004

  • Initiateur de la discussion Initiateur de la discussion TenderNath
  • 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 !

TenderNath

XLDnaute Nouveau
Bon matin,

Je ne peux exécuter ma macro à cause de ce message d'erreur. J'ai un fichier que je veux partager et protéger en même temps. Lorsque j'appuie sur le bouton réinitialiser j'ai un message d'erreur

On peut m'aider????😕



Sub Reinitialiser()
'
' Reinitialiser Macro
' Macro enregistrée le 2008-10-07 par nlabrosse
'

'
Dim Msg, Style, Title, Response, MyString
Msg = "Désirez-vous réinitialiser les données?"
Style = vbYesNo + vbQuestion + vbDefaultButton2
Title = "Radio-Ouvriers"
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then

Range("D3:AA114").Select
Selection.ClearContents

Else
MsgBox ("La réinitialisation n'a pas été exécutée")
End If

Range("D3").Select

End Sub
 
Re : Erreur d'exécution 1004

Ta macro fonctionne, probablement ta protection qui cause l'erreur alors il faut simplement l'enlever au début du code et la remettre à la fin.

Code:
Private Sub CommandButton1_Click()

Dim Msg, Style, Title, Response, MyString
ActiveSheet.Unprotect
Msg = "Désirez-vous réinitialiser les données?"
Style = vbYesNo + vbQuestion + vbDefaultButton2
Title = "Radio-Ouvriers"
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then

Range("D3:AA114").Select
Selection.ClearContents

Else
MsgBox ("La réinitialisation n'a pas été exécutée")
End If

Range("D3").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
 
Re : Erreur d'exécution 1004

Les 2 variables en Gras non déclarées, aprés remise en ordre ici ça tourne

Sub Reinitialiser()
'
' Reinitialiser Macro
' Macro enregistrée le 2008-10-07 par nlabrosse
'

'
Dim Msg, Style, Title, Response, MyString, help, ctxt
Msg = "Désirez-vous réinitialiser les données?"
Style = vbYesNo + vbQuestion + vbDefaultButton2
Title = "Radio-Ouvriers"
Response = MsgBox(Msg, Style, Title, help, ctxt)
If Response = vbYes Then

Range("D3:AA114").Select
Selection.ClearContents

Else
MsgBox ("La réinitialisation n'a pas été exécutée")
End If

Range("D3").Select

End Sub
 
Re : Erreur d'exécution 1004

Bonjour le fil 🙂,
Comme l'indique l'aide d'Excel, un classeur partagé apporte des limitations aux manipulations possibles, et aux macros...
Entre autre, les macros d'un classeur partagé ne peuvent pas être modifiées...
D'autre part, la protection / déprotection de feuille n'est plus disponible.
Une solution possible (mais dangereuse) serait d'arrêter le partage via la macro
Code:
ActiveWorkbook.[B]UnprotectSharing[/B]
de traiter la macro, puis de repartager le classeur
Code:
Sub ProtectWorkbook()
    Dim wbAWB As Workbook
    Dim strPwd As String
    Dim strSharePwd As String
    Set wbAWB = Application.ActiveWorkbook
    strPwd = InputBox("Enter password for the file")
    strSharePwd = InputBox("Enter password for sharing")
    wbAWB.[B]ProtectSharing[/B] Password:=strPwd, _
        SharingPassword:=strSharePwd
End Sub
mais je ne sais pas du tout ce qui se passerait pour un autre utilisateur connecté...
Bon WE 😎
 
Re : Erreur d'exécution 1004

Allo, Moi ce que je veux faire... est de partager mon fichier (qui se trouve à être, une feuille de déplacement d'employés) de permettre à plusieurs utilisateurs d'inscrire les déplacements, sans toutefois pouvoir modifier la mise en page ou bien la supression de lignes

Merci pour l'aide!

Bonjour le fil 🙂,
Comme l'indique l'aide d'Excel, un classeur partagé apporte des limitations aux manipulations possibles, et aux macros...
Entre autre, les macros d'un classeur partagé ne peuvent pas être modifiées...
D'autre part, la protection / déprotection de feuille n'est plus disponible.
Une solution possible (mais dangereuse) serait d'arrêter le partage via la macro
Code:
ActiveWorkbook.[B]UnprotectSharing[/B]
de traiter la macro, puis de repartager le classeur
Code:
Sub ProtectWorkbook()
    Dim wbAWB As Workbook
    Dim strPwd As String
    Dim strSharePwd As String
    Set wbAWB = Application.ActiveWorkbook
    strPwd = InputBox("Enter password for the file")
    strSharePwd = InputBox("Enter password for sharing")
    wbAWB.[B]ProtectSharing[/B] Password:=strPwd, _
        SharingPassword:=strSharePwd
End Sub
mais je ne sais pas du tout ce qui se passerait pour un autre utilisateur connecté...
Bon WE 😎
 
- 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

Discussions similaires

Réponses
1
Affichages
929
Réponses
5
Affichages
798
Réponses
3
Affichages
913
Guest
G
Retour