Copie de ligne sous excel en gardant le format et en changeant de dossier

sedran95 Messages postés 1 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 2 juin 2005 - 2 juin 2005 à 16:32
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 - 2 juin 2005 à 19:45
Bonjour, à tous,


Je cherche à copier une ligne du fichier source vers ficheir cible


en préservant le format (j'ai quelque cellule en vert par exemple)


Le programme ci-dessous ne me copie rien du tout


lorsque je ferme le fichier source un message me demande de le sauvegarder et de vider le presse papier


comment faire arriver à faire la copie en préservant le format en se passant des messages décrits ci-dessus


Je suis débutant dans excel avec vb6 et je n'arrête pas de tourner en rond


merci pour votre aide et pour le déblocage


' Déclaration des variables


Private MonFicCible As Excel.Application ' Fichier cible


Private MonFicSource As Excel.Application ' Fichier source


Sub main()


Set MonFicCible = New Excel.Application


Set MonFicSource = New Excel.Application


' Ouverture des fichiers


MonFicSource.Workbooks.Open FileName:="FichierSource.xls"


MonFicCible.Workbooks.Open FileName:="FichierCible.xls"


' Sélection et copie de la 1ère ligne du fichier source


MonFicSource.Worksheets("FeuilSource").Rows(1).select


Selection.copy


' Collage dans la feuille cible (équivallent à edition:collage spécial:tout copier)


MonFicCible.Worksheets("FeuilCible").Rows(1).select


Selection.PasteSpecial Paste:=xlpasteAll, Operation:=xlNone, SkipBlanks:=False _


, Transpose:=False


MonFicCible.Visible = true


MonFicSource.quit ' demande de sauvegarder alors que je n'ai rien écrit dedans


end


End sub ' fin main()


Le résultat après exécution : aucune ligne copiée (même la valeur).


Remarque : Je suis sous nt4, excel 2000 et vb6


Bonne lecture


Saïd

1 réponse

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
2 juin 2005 à 19:45
Lut,
D'abord pourquoi ouvrir deux application Excel ? Ce n'est pas la peine.
Tu ouvres une application et ensuite tes deux workbooks.

xlApp.Workbooks.Open FileName:="FichierSource.xls"
xlApp.Workbooks.Open FileName:="FichierCible.xls"

Qu'il te demmande d'enregistrer c'est normal, Excel est comme cela, tu changes de cellule active et pour lui y'a un changement donc demande de sauvegarde.....
donc si tu nomes ton application xlApp

xlApp.WorkBooks("FichierSource").Close False

Ensuite donnes plutot le chemin complet

xlApp.WorkBooks("FichierCible").Worksheets("FeuilCible").Rows(1).select

Ton prob vient peut-être du fait que tu ouvre deux fois excel et que tu n'enregistre pas. donc fais les modifs citées plus haut et vois.....

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
Rejoignez-nous