Pb copier-coller

olivier857 Messages postés 188 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 avril 2008 - 13 nov. 2006 à 10:49
cs_chinel Messages postés 4 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 25 août 2008 - 25 août 2008 à 19:50
Bonjour à tous,

J'ai un petit pb lors d'une macro qui fait un copier coller dont voici le code :

Private Sub Cmd_save_Click()


    'Désactive le rafraichissement de l'écran pendant la macro
    Application.ScreenUpdating = False


    'Ouverture du fichier
    Workbooks.Open Filename:="F:\source.xls"
   
    'Selection de toutes les cellules de la feuille "source"
    Worksheets("source").Cells.Select
   
    'Copie des cellules
    Selection.Copy
   
    'Activation du classeur Essai Publi TDF
    Workbooks("cible.xls").Worksheets("requête").Activate
    
   Cells.select    --> c'est ici que ca merde, il me refuse de selectionner les cellules, par contre si j'enlève cette ligne et que je prende de selectionner manuellement les cellules avant de lancer la macro alors ma macro fonctionne.

    'Collage des données du classeur "source.xls" dans la feuille
    '"requête_par_agent_GS" du classeur "cible.xls"
    Worksheets("requête").Paste
   
    'Sauvegarde du classeur "cible.xls"
    Workbooks("cible.xls").Save
   
    'Fermeture du classeur "source.xls"
    Workbooks("source.xls").Close
   
    'Affiche la feuille Test à la fin de la macro
    Worksheets("Test").Select
   
    'Réactive le rafraichissement de l'écran après la macro
    Application.ScreenUpdating = True
   
End Sub

Donc comme vous pouvez le voir ma macro merde au niveau de la selection des cellules du classeur cible afin d'y copier mes données.

Voilà, si quelqu'un à une idée ca serait super cool.

Merci d'avance

Oliv.

P.S.: C'est quuoi les balises du forum pour que mon code apparaisse au format code et non texte.

10 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 nov. 2006 à 11:07
Salut je viens de faire ça et cela fonctionne!

Workbooks("Classeur1").Activate
Workbooks("Classeur1").Worksheets("Feuil1").Cells.Select
   
Selection.Copy
   
Workbooks("Classeur2").Activate
Workbooks("Classeur2").Worksheets("Feuil1").Cells.Select


Workbooks("Classeur2").Worksheets("Feuil1").Paste

Est ce que tu as un message d'erreur spécifique pour la selection?

 Drikce 06
0
olivier857 Messages postés 188 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 avril 2008
13 nov. 2006 à 12:31
L'ereur sur le Cells.select est la suivante

Erreur d'éxécution 1004 :
La méthode Select de la classe Range a échoué.

Et si j'enlève cette ligne et que je ne prend pas le soin manuellement de faire la sélection avant la macro, alors j'obtiens l'erreur suivante :

Erreur d'éxécution 1004 :
Impossible de coller les informations car les zones Copier et de collage sont de forme et de taille différentes. Esaayez l'une des opérations suivantes:
- Cliquez sur une seule cellule puis collez.
- Sélectionnez une zone rectangulaire de taille et d eforme identiques à celles des informations puis collez.

Voilà cette 2ème me parrait logique, c'est pourquoi j'avais écrit cells.select pour faire la sélection. Mais voilà vb n'en veux pas.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 nov. 2006 à 13:11
Est ce que ton classeur cible.xls est ouvert? Parce que tu ouvres source.xls mais pas l'autre! Mais bon c'est juste au cas où! Parce que je pense que oui!

Réessaye avec ça:
Renomme la feuille requete sans le ^ car les espaces et les accents posent souvent problème!

Workbooks("source.xls").Activate
Workbooks("source.xls").Worksheets("source").Cells.Select
   
Selection.Copy
   
Workbooks("cible.xls").Activate
Workbooks("cible.xls").Worksheets("requete").Cells.Select
Workbooks("cible.xls").Worksheets("requete").Paste

 Drikce 06
0
olivier857 Messages postés 188 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 avril 2008
13 nov. 2006 à 14:50
Oui oui le fichier cible est bien évidement ouvert. C'est lui qui contient la macro.

Je vais essayer en enlevant les caractère spéciaux.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
olivier857 Messages postés 188 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 avril 2008
13 nov. 2006 à 14:56
Bon et bien non, ca ne change rien, si j'enlève les caractère spéciaux des noms de feuille et classeur; Enfin par principe je le change quand même.

Mon cells.select ne fonctionne pas.
J'ai également essayé avec range("A1").select qui aurait pu faire l'affaire. Mais l'erreur est la même;
Le pb c'est qu'il me refuse tous select sur cette feuille. Bien sûre je n'ai pas de protection sur la feuille.

J'ai plus l'impression que quelque part il y a un ordre d'opération dans ma macro qui n'est pas bon. un select apres un activate ou autre chose qui pourrait peut etre ne pas être logique.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 nov. 2006 à 15:07
Ben là je vois pas trop! J'avais pensé à la protection de la feuille mais si elle ne l'est pas! Peut être y en a t'il une sur des cellules! Je pense que non!
Reprends deux classeurs vierges, comme moi précédement et relance le code comme j'avais fais au début et essaye de comparer avec tes classeurs à toi ou sinon tu m'envois tes deux classeur par mails et j'essaye de voir ce qui va pas!

 Drikce 06
0
olivier857 Messages postés 188 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 10 avril 2008
13 nov. 2006 à 15:13
Si j'utilise ton code dans  2 nouveaux classeur :

Workbooks("Classeur 2.xls").Activate
Workbooks("Classeur 2.xls").Worksheets("Feuil1").Cells.Select
   
Selection.Copy
   
Workbooks("Classeur 1.xls").Activate
Workbooks("Classeur 1.xls").Worksheets("Feuil1").Cells.Select
Workbooks("Classeur 1.xls").Worksheets("Feuil1").Paste

Et bien ca marche.

Mais dans le cas de ma macro d'origine qui fonctionne exactement pareil ca ne marche pas.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
13 nov. 2006 à 15:18
Ah là! Il doit y avoir quelque chose sur ton classeur qui fait que ça marche pas mais là je ne vois pas ce que ça peut-être! Désolé, comme ça je ne vois pas!

 Drikce 06
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
13 nov. 2006 à 23:09
Ton code:

   'Activation du classeur Essai Publi TDF

    Workbooks("cible.xls").Worksheets("requête").Activate

 

À modifier pour:

   'Activation du classeur Essai Publi TDF

    Workbooks("cible.xls").Activate  ' ou Windows("cible.xls").Activate

    Worksheets("requête").Activate

 et là le collage

MPi
0
cs_chinel Messages postés 4 Date d'inscription vendredi 1 juin 2007 Statut Membre Dernière intervention 25 août 2008
25 août 2008 à 19:50
Salut tout le monde !


 


je cherche une macro pour copier les données des cellules J49,J51,J53,J55 de la feuille 1 et les coller dans les cellules F16,F9,B19,C40 de la feuille 2 puis effacer les données des cellules de la feuille 1

Merci

chinel
0
Rejoignez-nous