La méthode PasteSpecial de la méthode Range a échoué
ndrivo
Messages postés1Date d'inscriptionlundi 7 juillet 2008StatutMembreDernière intervention 7 juillet 2008
-
7 juil. 2008 à 12:11
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 2013
-
7 juil. 2008 à 15:27
Bonjour,
j'ai un problème au niveau de PasteSpecial si vous pouvez m'aider,
D'abord j'utilise ActiveSheet.AutoFilterMode = False pour désactiver les filtres
Puis dans Feuille 1 Classeur 1 (déjà ouvert), j'efface tout avec la commande
Sub Efface_Temp() 'Efface l'onglet Temp
Cells.Select
Selection.Delete
ActiveSheet.DrawingObjects.Delete
End Sub
Dans la feuille 1 Classeur 2 (déjà ouvert aussi), je dimensionne la plage à copier :
Sub COPIE () 'Dimensionnement de la plage à copier vers TEMP pour chaque portefeuille sauf CANADA
t = 0
Do Until IsEmpty(ActiveSheet.Cells(1 + t, 1)) 'comptage de lignes à copier
t = t + 1
Loop
v = 0
Do Until IsEmpty(ActiveSheet.Cells(1, v + 1)) 'comptage de colonnes à copier
v = v + 1
Loop
ActiveSheet.Range(Cells(1, 1), Cells(t, v)).Select
Selection.Copy
End Sub
Puis je réactive la feuille 1 Classeur 2 pour y coller les données :
Workbooks(2).Worksheets(1).Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Et c'est sur PasteSpecila qu'il dit que:
La méthode PasteSpecial de la classe Range a échoué.
Je vous en remrcie d'avance !!!!
A voir également:
La méthode pastespecial de la classe range a échoué
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 7 juil. 2008 à 15:27
Salut,
comme je le dit depuis un moment les select, activat et autre copy/paste ne servent a rien quand on ne souhait transferer que des valeurs et rien d'autre.
Remplace toute la partie copy/paste par la ligne bleu
Sub COPIE () 'Dimensionnement de la plage à copier vers TEMP pour chaque portefeuille sauf CANADA
t = 0
Do Until IsEmpty(ActiveSheet.Cells(1 + t, 1)) 'comptage de lignes à copier
t = t + 1
Loop
v = 0
Do Until IsEmpty(ActiveSheet.Cells(1, v + 1)) 'comptage de colonnes à copier
v = v + 1
Loop
Workbooks(2).Worksheets(1).Range("A1").Range(Cells(1, 1), Cells(t, v)).Value = ActiveSheet.Range(Cells(1, 1), Cells(t, v)).Value