Problème avec bouton excel/VB

fmn1 Messages postés 1 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 15 septembre 2008 - 15 sept. 2008 à 19:58
shadowmosses Messages postés 14 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 16 décembre 2009 - 20 sept. 2008 à 15:29
Bonjour,

j'ai crée un bouton sur une feuille excel, ce bouton va m'ouvrir un
fichier txt dans un nouveau classeur excel, copier cette feuille, et
revient me la copier dans mon classeur de base.

La macro de mon bouton se place, dans vb, dans l'onglet microsoft excel objects/ feuille 4. Mon code est le suivant:

Workbooks.OpenText Filename:="D:\IMPORT.txt", Origin:=xlWindows, StartRow _

:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _

ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _

, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _

TrailingMinusNumbers:=True

Windows("IMPORT.txt").Activate

Cells.Select

Selection.Copy

Windows("moulinette_prob2.xls").Activate

ActiveSheet.Paste

Workbooks("IMPORT.txt").Close SaveChanges:=False

Quand j'arrive sur la ligne Cells.select une erreur apparait:
Erreur d'execution 1004: Erreur définie par l'application ou par
l'objet.

Ce que je ne comprends pas c'est que si je mets mon code dans un
module et que je lance la macro manuellement depuis vb cela
fonctionne... HELP Please!!!!! Merci d'avance

2 réponses

shadowmosses Messages postés 14 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 16 décembre 2009
20 sept. 2008 à 15:26
Bonjour , il y a pas de « cellule » sélectionnés,
Je te conseil de trouvé la première cellule « vide » et de copier tous ce qu’il se trouve vers le haut.

Workbooks.OpenText Filename:="D:\IMPORT.txt"
DoEvents
Windows("IMPORT.txt").Activate
DoEvents

' Recherche de la première cellule vide
j = 0
n = 0
While (j = 0)
DoEvents
If ActiveSheet.Range("A1").Offset(n, 0).Value = "" Then
ActiveSheet.Range("A1").Offset(n, 0).Select
j = 1
End If
DoEvents
n = n + 1
Wend
' Recherche terminé

ActiveSheet.Range(Selection, ActiveSheet.Range("A1")).Select
DoEvents
Selection.Copy
Windows("moulinette_prob2.xls").Activate
Range("A1").Select
ActiveSheet.Paste

Chez moi, cela fonctionne très bien.
En Espérant avoir Pu d’aider.
0
shadowmosses Messages postés 14 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 16 décembre 2009
20 sept. 2008 à 15:29
C’est normal que ma réponse se retrouve sur une seule ligne ?
0
Rejoignez-nous