Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA Excel

2 réponses
Avatar
Gerard Chazelle
Range("B" & CStr(PosDebut) & ":H" & CStr(PosFin)).Select
'Copie zone des valeurs
Selection.Copy
'Windows(nom_fichier).Close (False)
'Windows("dynw13.xls").Activate
Windows(Nom_Fichier_1).Activate
Sheets("Results").Select
'Recopie zone des valeurs
Range("A" & CStr(LigneValeurRecopie) & "").Select
ActiveSheet.Unprotect
ActiveCell.Value = nom_fichier
Range("B" & CStr(LigneValeurRecopie) & "").Select
ActiveSheet.Unprotect
Selection.PasteSpecial

Pourqu'oi en déprotégeant la feuille, la recopie d'une zone de données (Ex :
A1:E7 d'un autre fichier) ne fonctionne pas avec Selection.PasteSpecial ?

2 réponses

Avatar
Papyjac
Bonjour Gerard,

Il me semble que quand on lève une protection, le presse papier n'est plus
accessible

Il faut d'abord déprotéger puis faire le copier coller

A vérifier
--
Papyjac


"Gerard Chazelle" a écrit :

Range("B" & CStr(PosDebut) & ":H" & CStr(PosFin)).Select
'Copie zone des valeurs
Selection.Copy
'Windows(nom_fichier).Close (False)
'Windows("dynw13.xls").Activate
Windows(Nom_Fichier_1).Activate
Sheets("Results").Select
'Recopie zone des valeurs
Range("A" & CStr(LigneValeurRecopie) & "").Select
ActiveSheet.Unprotect
ActiveCell.Value = nom_fichier
Range("B" & CStr(LigneValeurRecopie) & "").Select
ActiveSheet.Unprotect
Selection.PasteSpecial

Pourqu'oi en déprotégeant la feuille, la recopie d'une zone de données (Ex :
A1:E7 d'un autre fichier) ne fonctionne pas avec Selection.PasteSpecial ?





Avatar
FFO
Salut Gerard

La déprotection annule un éventuel copié
Tu devrais ordonné ta procédure de tel façon que le copié se fasse aprés la
déprotection ainsi
Workbooks("Nom_Fichier_1").Sheets("Results").Unprotect
Range("B" & CStr(PosDebut) & ":H" & CStr(PosFin)).Select
'Copie zone des valeurs
Selection.Copy
Windows(Nom_Fichier_1).Activate
Sheets("Results").Select
'Recopie zone des valeurs
Range("A" & CStr(LigneValeurRecopie) & "").Select
ActiveCell.Value = nom_fichier
Range("B" & CStr(LigneValeurRecopie) & "").Select
Selection.PasteSpecial

En plus simple :

Workbooks("Nom_Fichier_1").Sheets("Results").Unprotect
Range("B" & CStr(PosDebut) & ":H" & CStr(PosFin)).Copy
'Copie zone des valeurs
Windows(Nom_Fichier_1).Activate
Sheets("Results").Activate
'Recopie zone des valeurs
Range("A" & CStr(LigneValeurRecopie) & "")= nom_fichier
Range("B" & CStr(LigneValeurRecopie) & "").Activate
Selection.PasteSpecial

Celà devrait faire
Dis moi !!!!