VBA Excel

Le
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 ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Papyjac
Le #18070381
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 ?





FFO
Le #18077611
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 !!!!
Publicité
Poster une réponse
Anonyme