message erreur macro

  • Initiateur de la discussion Initiateur de la discussion Linchpin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Linchpin

Guest
Hello tout le monde,
j ai un souci avec ma macro...qui me permet de copier des infos, d ouvrir un autre fichier et d y coller les infos tout en trouvant la derniere ligne remplie.

Or a chaque fois, apparait le message "La méthode PASTESPECIAL de l objet Range a échoué....

Or voici la macro

Public Sub TCD()
Dim chemin As String
Dim nom As String
Dim xlapp As Object
Dim xlbook As Workbook
Dim xlsheet As Worksheet
Sheets("Feuil1").Visible = True
Sheets("Feuil1").Activate
Sheets("Feuil1").Select
Sheets("Feuil1").Range("B2", Sheets("Feuil1").Range("M2").End(xlDown)).Select
Selection.Copy
chemin = "G:\GESTION FINANCE & COMPTABILITE\Base de données\Historique Aeroports Perdus"
nom = "RECUPERE PAR MACRO"
Set xlapp = CreateObject("Excel.Application")
Set xlbook = xlapp.Workbooks.Open(chemin)
Set xlsheet = xlbook.Worksheets(nom)
xlsheet.Activate
xlsheet.Range("B3").End(xlDown).Offset(1, 0).PasteSpecial (xlPasteValues)

Set xlsheet = xlbook.Worksheets("RAPPORT")
xlsheet.PivotTables("Lost").RefreshTable

Set xlsheet = Nothing
xlbook.Save
xlbook.Close
Set xlbook = Nothing
ActiveWindow.SelectedSheets.Visible = False

End Sub

Quelqu un aurait il une idée?
Un grand merci;
Linchpin
 
Re : message erreur macro

Bonjour,

Ci-joint un exemple à tester.

Il y a des erreurs de syntaxe sur les chemins.

Il n'est pas necessaire d'activer et selectionner les feuilles ni les rendre visibles.

Pour le TCD, n'ayant pas le contexte à toi de réadapter.

Edit : autre version avec xlsheet

Public Sub TCD()
chemin = "C:\Historique Aeroports Perdus" 'Chemin du fichier
Classeur = "Test.xls" 'Nom du classeur
nom = "RECUPERE PAR MACRO" 'Nom de l'onglet
Set xlapp = CreateObject("Excel.Application")
Set xlbook = xlapp.Workbooks.Open(chemin & "\" & Classeur)
Set xlsheet = xlbook.Sheets(nom)
'----
Sheets("Feuil1").Range("B2", Sheets("Feuil1").Range("M2").End(xlDown)).Copy
xlsheet.Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues)
'----
xlbook.Sheets(nom).Visible = True
xlbook.Save
xlbook.Close
Set xlbook = Nothing
End Sub
 

Pièces jointes

Dernière édition:
Re : message erreur macro

Hello!

Merci beaucoup pour ton post. Malheuresement le message d erreur continue d apparaitre apres avoir tout bien rentré...

xlsheet.Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues)

Encore cette ligne qui déconne, c est à se rendre fou!

HELP!
 
Re : message erreur macro

Re,

Peux tu donner ta version d'Excel ?

Essai comme ceci en pas pas (F8) pour voir ce qui se passe :

Public Sub TCD()
chemin = "C:\Historique Aeroports Perdus" 'Chemin du fichier
Classeur = "Test.xls" 'Nom du classeur
nom = "RECUPERE PAR MACRO" 'Nom de l'onglet
Set xlapp = CreateObject("Excel.Application")
Set xlbook = xlapp.Workbooks.Open(chemin & "\" & Classeur)
Set xlsheet = xlbook.Sheets(nom)
xlapp.Visible = True
'----
Sheets("Feuil1").Range("B2", Sheets("Feuil1").Range("M2").End(xlDown)).Copy
xlsheet.Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues)
'----
xlbook.Sheets(nom).Visible = True
xlbook.Save
xlbook.Close
Set xlbook = Nothing
End Sub
 
Re : message erreur macro

Re,
EXCEL 2000.

Incroyable, il refuse toujours de coller les valeurs... Je vais continuer encore un peu à chercher.
Un grand merci pour ton coup de main.
N hesites pas à me faire part d eventuelles astuces pour ce souci...
Thx.
 
Re : message erreur macro

Re,

Essaie :
xlsheet.Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial (-4163)

En mode pas à pas, est ce que les données sont en mode copie ?
Y a t il les "fourmies" autour de la zone copiée ?
(en affichant la feuille)

Sous Excel 2000 la feuille doit peut-etre etre visible ...
Essaie ceci :
Sheets("Feuil1").Visible = True
Sheets("Feuil1").Range("B2", Sheets("Feuil1").Range("M2").End(xlDown)).Copy
xlsheet.Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues)
 
Dernière édition:
Re : message erreur macro

Hello,
Bon j ai trouvé la soluce. Curieuse tout de meme.
Il a suffit de remplacer PasteSpecial (xlPasteValues) par
PasteSpecial (xlPasteValuesAndNumberFormats)

Magie de VB...
Merci.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
865
J
Réponses
1
Affichages
2 K
Réponses
5
Affichages
684
  • Question Question
Réponses
1
Affichages
663
  • Question Question
Microsoft 365 Erreur de macro
Réponses
4
Affichages
855
Retour