Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1779 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Solutionné][VBA] erreur avec Paste, je comprends pas pourquoi

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Solutionné][VBA] erreur avec Paste, je comprends pas pourquoi

n°1700021
tuxbleu
renie ses origines
Posté le 10-03-2008 à 17:22:11  profilanswer
 

Bonjour,
 
Ma macro semble simple, et pourtant je ne comprends le plantage :
Le but est d'ouvrir un fichier excel (160021.xls), de copier la feuille active, d'ouvrir un autre fichier (16.xls) de créer un onglet et d'y coller ce que j'ai copié précédemment.
Tout ce déroule bien, sauf le Past.
J'ai débuggé à base de "msgbox" comme vous pouvez le voir, et ya que là qu'il y a un soucis : "erreur d'exécution 1004 : erreur définie par l'objet..."
 
Le plus fort, c'est qu'une fois que ca a planté, si je vais sur la feuille où je voulais coller, j'ai juste à faire "Ctrl+v" et ca colle.
 
Ca fait plus de deux heures que je cherche une solution, j'y arrive pas, please help  :cry:  
 

Code :
  1. Sub Copie(nomOnglet)
  2. '
  3. ' Copie Macro
  4. '
  5.     If test_fichier_ouvert("16.xls" ) = False Then
  6.         Workbooks.Open Filename:="C:\Documents and Settings\All Users\Bureau\test\16.xls"
  7.     Else
  8.         Workbooks("16.xls" ).Activate
  9.     End If
  10.     Call CreerOnglet("16.xls", nomOnglet, False)
  11.     If test_fichier_ouvert("160021.xls" ) = False Then
  12.         Workbooks.Open Filename:="C:\Documents and Settings\All Users\Bureau\test\tout\160021.xls"
  13.     Else
  14.         Workbooks("160021.xls" ).Activate
  15.     End If
  16.    
  17.     Cells.Select
  18.     MsgBox "on a sélectionné"
  19.     Selection.Copy
  20.     MsgBox "on a copié"
  21.     Workbooks("16.xls" ).Activate
  22.     MsgBox "on a changé de feuille"
  23.     ActiveSheet.Paste
  24.     MsgBox "on a collé et c'est fini"
  25. End Sub


Message édité par tuxbleu le 10-03-2008 à 18:38:15
mood
Publicité
Posté le 10-03-2008 à 17:22:11  profilanswer
 

n°1700056
olivthill
Posté le 10-03-2008 à 18:00:07  profilanswer
 

Paste (avec un "e" à la fin et qui est prononcé "peste" ) est différent selon le type de données auquel il est appliqué.
En l'occurence, comme la copy concerne une selection, je crois qu'il faudrait faire un paste d'une selection, donc remplacer "ActiveSheet.Paste" par "Selection.paste".

n°1700062
tuxbleu
renie ses origines
Posté le 10-03-2008 à 18:08:24  profilanswer
 

olivthill a écrit :

Paste (avec un "e" à la fin et qui est prononcé "peste" ) est différent selon le type de données auquel il est appliqué.
En l'occurence, comme la copy concerne une selection, je crois qu'il faudrait faire un paste d'une selection, donc remplacer "ActiveSheet.Paste" par "Selection.paste".


oui, désolé pour le "e" manquant, ca veut forcement rien dire comme je l'avais écris :jap:
 
donc, j'ai essayé en suivant ton conseil :  
 

Code :
  1. Cells.Select
  2.     MsgBox "on a sélectionné"
  3.     Selection.Copy
  4.     MsgBox "on a copié"
  5.     Workbooks("16.xls" ).Activate
  6.     MsgBox "on a changé de feuille"
  7.     Cells.Select
  8.     MsgBox "on a re-selectionné"
  9.     Selection.Paste
  10.     MsgBox "on a collé et c'est fini"

 
 
Et j'ai une autre erreur : "Erreur 438 : propriété ou métode non gérée par cet objet"
 
Une idée ? merci du premier indice en tout cas  :)

n°1700083
tuxbleu
renie ses origines
Posté le 10-03-2008 à 18:37:53  profilanswer
 

Solutionné !!!
Il fallait sélectionner un range avant le paste : ActiveWorkbook.ActiveSheet.Range("A1" ).Select
 

Code :
  1. Cells.Select
  2.     MsgBox "on a sélectionné"
  3.     Selection.Copy
  4.     MsgBox "on a copié"
  5.     Workbooks("16.xls" ).Activate
  6.     MsgBox "on a changé de feuille"
  7.     MsgBox "on a re-selectionné"
  8.     ActiveWorkbook.ActiveSheet.Range("A1" ).Select
  9.     ActiveWorkbook.ActiveSheet.Paste
  10.     MsgBox "on a collé et c'est fini"


 
Ca, ca plante pas.  :wahoo:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Solutionné][VBA] erreur avec Paste, je comprends pas pourquoi

 

Sujets relatifs
IE7 attraper l'erreur "URL trop longue"VBA EXCEL liste déroulante entre deux fichiers
Erreur de code en PHPConversion VBA word vers VBS
[Resolu] Excel VBA Regrouper des valeurs depuis des classeurs/feuillesChanger une application VBA pour un autre language de programmation
Commande VBA spécifique à CATIAProblème sauvegarde envoi de mails Lotus Notes dans macro VBA
VBA Excel, problème de filtre avec valeurs décimalesCréer une fonction en VBA
Plus de sujets relatifs à : [Solutionné][VBA] erreur avec Paste, je comprends pas pourquoi


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR