XL 2019 Macro - erreur d'exécution

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

jes030390

XLDnaute Nouveau
Bonjour,

J'ai un fichier Excel avec une macro qui bug : "Erreur d'exécution 1004" Quelqu'un aurait une solution?

De plus, j'aimerais protéger la feuille par un mot de passe pour avoir accès uniquement à certaines cellules "Sélectionner les cellules déverouillées" mais lorsque je protège la feuille le bouton de la macro passe en mode protéger et bug.

Je ne trouve pas la solution.

Merci d'avance pour votre aide.
 

Pièces jointes

Bonjour à tous,

Voyez le fichier joint et la macro du bouton :
VB:
Sub ajouter_employe()
With Sheets("BDD")
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Unprotect "toto" 'mot de passe à adapter
    With .Range("A" & .Rows.Count).End(xlUp)(2).Resize(, 61) '1ère ligne vide
        .Value = Sheets("Formulaire").[A2:BI2].Value
        .Replace 0, "", xlWhole 'efface les valeurs zéro
        .Replace "1/0/1900", "" 'si calendrier 1900
        .EntireColumn.AutoFit 'ajustement largeurs
        Application.Goto .Cells(1) 'facultatif
    End With
    .Protect "toto" 'mot de passe à adapter
End With
With Sheets("Formulaire")
    .Protect "toto", UserInterfaceOnly:=True 'mot de passe à adapter
    .EnableSelection = xlUnlockedCells 'cellules déverrouillées seulement
    .Cells.Locked = True
    With Union(.[B5,D5,F5,B8,D8,F11,B14,D14,B17,D17,F17,B20,D20,F20,B23,D23,B26,D26,B29,D29], _
        .[B34,D34,F34,B37,D37,B40,D40,F40,B43,D43,F43,B46,D46,B49,D49,B52,B55,D55,F55], _
        .[B60,D60,F60,B63,D63,F63,B66,D66,F66,B69,D69,F69,B73:F77,B82,D82,F82,B86,D86,F86])
        .Locked = False 'les cellules sont déverrouillées
        .ClearContents
    End With
End With
End Sub
A priori fonctionne sur toute version.

A+

Bonjour job75,

Merci pour votre aide, malheureusement j'ai ce message d'erreur à l'ouverture du fichier :
- Alert : Désolé...Nous avons trouvé un pb dans le contenu de CVthèque(1).xlsm, mais nous pouvons essayer de récupérer le maximum de contenu...
 
Bon je pense que UserInterfaceOnly n'est pas accepté sur MAC, alors voyez ce fichier (2) :
VB:
Sub ajouter_employe()
Dim P As Range
Application.ScreenUpdating = False
With Sheets("BDD")
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Unprotect "toto" 'mot de passe à adapter
    Set P = .Range("A" & .Rows.Count).End(xlUp)(2).Resize(, 61) '1ère ligne vide
    P = Sheets("Formulaire").[A2:BI2].Value
    P.Replace 0, "", xlWhole 'efface les valeurs zéro
    P.Replace "1/0/1900", "" 'si calendrier 1900
    P.EntireColumn.AutoFit 'ajustement largeurs
    .Protect "toto" 'mot de passe à adapter
End With
With Sheets("Formulaire")
    .Unprotect "toto" 'mot de passe à adapter
    .Cells.Locked = True
    With Union(.[B5,D5,F5,B8,D8,F11,B14,D14,B17,D17,F17,B20,D20,F20,B23,D23,B26,D26,B29,D29], _
        .[B34,D34,F34,B37,D37,B40,D40,F40,B43,D43,F43,B46,D46,B49,D49,B52,B55,D55,F55], _
        .[B60,D60,F60,B63,D63,F63,B66,D66,F66,B69,D69,F69,B73:F77,B82,D82,F82,B86,D86,F86])
        .Locked = False 'les cellules sont déverrouillées
        .ClearContents
    End With
    .Protect "toto" 'mot de passe à adapter
    .EnableSelection = xlUnlockedCells 'cellules déverrouillées seulement
End With
Application.Goto P(1) 'facultatif
End Sub
Si vous n'arrivez pas à ouvrir le fichier vous pouvez au moins copier la macro.

A+
 

Pièces jointes

Dernière édition:
- 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
3
Affichages
188
Réponses
17
Affichages
469
Réponses
3
Affichages
128
  • Question Question
Microsoft 365 Vba
Réponses
3
Affichages
190
Retour