XL 2019 cellules qui se verrouillent après une copie

Cheyenne_2021

XLDnaute Junior
Bonjour,

Mystère des cellules verrouillées :

1 : Tableau1 avec des données

2 : Je recopie une partie du tableau1 dans le tableau2 (Filtre)

Tableau1 et Tableau2 sont des tableaux structurés.

Tableau2 doit etre modifiable. Dans toutes les colonnes (sauf la dernière) , les cellules ne sont pas verrouillées. Je protège la feuille avec coché « Modifier les objets » et je peux saisir les cellules du tableau.

Par contre quand je relance la création de mes fichiers par une macro et que je le reouvre, tout est bloqué et toutes mes cellules sont marquées comme « Verrouillées » !! comme si à la copie, il perdait le fait que j’ai déverrouillées toutes les cellules ! Comment est-ce possible ?

Je peux vous envoyer les fichiers mais je ne suis pas sûre que cela soit utile ?

Merci
 

Cheyenne_2021

XLDnaute Junior
voici les fichiers
La macro qui cree les fichiers :
VB:
Sub Creation_Fichier_UR()
'
'Pour eviter le message : qu'une fnom de colonne que je veux copier contient le nom "xxx" qui existe sur la feuille de destination.
'Voulez-vous utiliser cette version du nom ?" ma réponse est toujours oui.

Application.DisplayAlerts = False
Application.EnableEvents = False


'Deproteger
 Call Initialisation_Variables_Public
 Call Deverrouiller_feuille(Onglet_Synthèse)    'du fichier POurscission
 
  '  MsgBox ("onglet synt : " & Onglet_Synthèse)
  'decalage = ListObjects("T_UR2").HeaderRowRange.Row
  decal = Range("T_UR2[[#Headers]]").Row
  Ent = "A" & (decal + 1)
  'MsgBox ("1ere ligne apres entete : " & decal)
  sheet_1 = ActiveSheet.Name
 ' Fichier UR
 '----------
 'UR_Repertoire = "Z:\S3A - Documents de service\Procédures\MEQ Recherche\"
 'UR_Repertoire = [REP_BO_Extracion]
 AR_Repertoire = [Rep_BO_Extraction]
 Ar_fichier = [Fich_BO_Extraction]
 UR_Date = Format([Extract_Date], "dd/mm/yy")
 
 MsgBox ("AR fichier: " & Ar_fichier)
 Nb_Lig = [T_UR_Nom].Rows.Count
 'For I = 1 To Nb_Lig
  For I = 1 To 2
    Windows(Ar_fichier).Activate
     'Windows("Recherche_Extraction_BO_4_TestPQue.xlsm").Activate    ' necessaire car VBA est resté actif sur le dernier fichier modifie de chaque UR
    UR_Nomfichier = Worksheets("Parametres").Range("T_UR_Nom[Nom_fichier]").Rows(I)
    
    '----Exceldownloads
    UR_Nomfichier = [T_UR_Nom[Nom_fichier]].Rows(I)
    MsgBox ("fichier UR : " & UR_Nomfichier)
    Critere = [T_UR_Nom[sigles UR]].Rows(I)
    
    With Workbooks.Open(Filename:=[Rep_UR] & UR_Nomfichier & ".xlsm")  ' ouverture du fichier dans lequel on va copier une partie du fichier d'origine
        [T_Ur].Parent.Activate ' Activation de la feuille du tableau
        Set Onglet_UR = ActiveWorkbook.Worksheets("TableauSynthese_UR")
        Call Deverrouiller_feuille(Onglet_UR)
        'Deverrouiller_feuille ActiveSheet
            'vider le tableau
             If Not Range("T_UR").ListObject.DataBodyRange Is Nothing Then
              Range("T_UR").ListObject.DataBodyRange.Delete
            End If
            Onglet_Synthèse.[T_Ur2].AutoFilter Field:=1, Criteria1:=Critere
            Onglet_Synthèse.[T_Ur2[#Data]].SpecialCells(xlCellTypeVisible).Copy
            ActiveSheet.Paste [T_Ur[#Data]]
            [UR_Extract_Date] = UR_Date
        'Verouiller_feuille ActiveSheet
        'Call Verouiller_feuille(Onglet_UR)
         Onglet_UR.Protect DrawingObjects:=True, Contents:=True, Scenarios:= _
        True, AllowSorting:=True, AllowFiltering:=True
        .Close saveChanges:=True
    End With
    '----Exceldownloads
    
    '
      
            
    
    'Fin fichier UR
    '--------------
Next
    [T_Ur2].ListObject.AutoFilter.ShowAllData
    Call Verouiller_feuille(Onglet_Synthèse)    ' unquement à la fin de la creation de tous les fichiers ?
    
    
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub
 

Pièces jointes

  • EXD_CEL_Tableau Edition Personnel.xlsm
    69.7 KB · Affichages: 3
  • EXD_POURSCISSION_Tableau Edition Personnels par UR.xlsm
    407.1 KB · Affichages: 3

AtTheOne

XLDnaute Accro
Supporter XLD
Bonsoir à toutes & à tous,
bonsoir @Cheyenne_2021

En fait tu fais un collage de cellules qui sont protégées (de ton tableau source issu d'une requête) , cela comprend le vérouillage des cellules, les formats etc ...
Dans ta macro remplace :
VB:
ActiveSheet.Paste [T_Ur[#Data]]
par
VB:
[T_Ur[#Data]].PasteSpecial paste:=xlPasteValues

et tu n'embarqueras plus dans ton collage le verrouillage des cellules du tableau source

Bon courage
 

Discussions similaires

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh