Copier et coller une colonne dans un fichier excel

cs_bossou Messages postés 71 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 7 octobre 2011 - 13 nov. 2009 à 12:31
cs_bossou Messages postés 71 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 7 octobre 2011 - 14 nov. 2009 à 10:12
Bonjour à tous.
J'ai un code vb qui dois me permettre de copier une colonne et de la coller dans une autre tout en sachant que la colonne de départ contient des chiffres. puis supprimer la colonne d'origine. voici le code que j'ai fais:

Dim xlApp

Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.workbooks.Open("C:/PaymentFiles/us_origine.xls")
Columns("AF:AF").Select
Selection.Copy
ActiveWindow.SmallScroll ToRight:=2
Columns("AK:AK").Select
ActiveSheet.Paste
Columns("AF:AF").Select
Selection.Delete Shift:=xlToLeft

cependant, lorsque je lance l'exécution j'ai un message d'erreur qui dit: type incompatible : Columns. je ne comprend pas bien cette erreur. Aidez moi svp.
Merci

5 réponses

cs_bossou Messages postés 71 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 7 octobre 2011 1
14 nov. 2009 à 10:12
Bonjour Jack.
Excuse moi j'ai omis de signaler que j'ai trouver la solution à mon programme. tout fonctionne bien. merci
1
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 nov. 2009 à 12:50
Salut
Parce que tu n'es pas dans Excel, mais dans VB.Net.
Il n'existe pas d'instruction Columns sous .Net
Tu dois précéder chaque instruction destinée à Excel par xlApp.ActiveSheet.
Exemple :
xlApp.ActiveSheet.Columns("AK").Select


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_bossou Messages postés 71 Date d'inscription vendredi 2 juin 2006 Statut Membre Dernière intervention 7 octobre 2011 1
13 nov. 2009 à 13:06
Merci beaucoup Jack. il ne m'affiche plus cette erreur. mais là j'ai encore une autre erreur qui est apparue
Objet requis : Selection

Dim xlApp

Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.workbooks.Open("C:/PaymentFiles/us_origine.xls")
xlApp.ActiveSheet.Columns("AF:AF").Select
Selection.Copy
ActiveWindow.SmallScroll 'ToRight:=2
xlApp.ActiveSheet.Columns("AK:AK").Select
ActiveSheet.Paste
xlApp.ActiveSheet.Columns("AF:AF").Select
Selection.Delete 'Shift:=xlToLeft

Je vous remercie encore pour votre aide.
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
13 nov. 2009 à 14:10
A mon avis, mais je peux me tromper, c'est parce que Selection n'est pas forcément reconnu dans du code hors VBA, et même dans le VBA, ça ne fonctionne pas toujours, il faut systématiquement activer avant.
Ton code, tu as du le récupérer avec l'enregistreur de macro, mais il faut savoir que tu peux le simplifier. Tu peux réunir ton code en collant tes bouts de code, en enlevant .Select et Selection, ce qui donnerait par ex. :
xlApp.ActiveSheet.Columns("AF:AF").Delete 'Shift:=xlToLeft

Molenn
0

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

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
14 nov. 2009 à 02:28
Bossou : tu le fais exprès ou bien ?
Ce qui est valable pour Columns est bien entendu aussi valable pour TOUTES les instructions VBA que tu pourrais utiliser pour manipuler tes données.
Ca ne t'ai pas venu à l'esprit ?
M'enfin ...
0
Rejoignez-nous