XL 2019 Macro - erreur d'exécution

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

  • CVthèque2.0.xlsm
    256.7 KB · Affichages: 14

jes030390

XLDnaute Nouveau
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...
 

job75

XLDnaute Barbatruc
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

  • CVthèque(2).xlsm
    257.2 KB · Affichages: 1
Dernière édition:

Discussions similaires

Réponses
2
Affichages
152
Réponses
5
Affichages
391
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 109
Messages
2 085 384
Membres
102 878
dernier inscrit
asmaa