hicham_a_t23
Messages postés9Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 1 août 2005
-
21 juil. 2005 à 11:49
hicham_a_t23
Messages postés9Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 1 août 2005
-
22 juil. 2005 à 12:19
bonjour tout le monde, est ce que quelqu'un peut m'aider : j'ai besoin de determiner la derniere ligne d'un fichier excel pour la supprimer ( avec le code)
en fait je suis sencé automatiser l'import d'un fichier text et le mettre sous excel en eliminant la premiere, deuxieme et dreniere ligne; pour l'importer ensuite a la base de donnees access( ca, j'ai arrivé à le faire)
si quelqu'un peut m'aider je serai tres reconnaissant. et merci d'avance
hicham_a_t23
Messages postés9Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 1 août 2005 21 juil. 2005 à 11:55
bonjour tout le monde, est ce que quelqu'un peut m'aider : j'ai besoin de determiner la derniere ligne d'un fichier excel pour la supprimer ( avec le code)
en fait je suis sencé automatiser l'import de plusieurs fichiers text dans un dossier et les mettre sous excel en eliminant la premiere, deuxieme et dreniere ligne; pour les importer ensuite a la base de donnees access( ca càd l'import à access, j'ai arrivé à le faire)
si quelqu'un peut m'aider je serai tres reconnaissant. et merci d'avance
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 21 juil. 2005 à 12:04
Si j'ai bien compris ce que tu dis :
Tu importes un fichier text dans Excel.
Tu supprimes 3 lignes (les 2 premières et la dernière)
Tu exportes ton résultat dans ACCESS
Suivant le contenu du fichier texte (si l'organisation est la même que les autres lignes), tu aurais peut être intérêt à l'importer directement dans ACCESS et ensuite, à supprimer les 2 premières lignes et la dernière, ce qui est très simple :
table.movefirst
delete...
table.movefirst
delete...
table.movelast
delete...
Si ce sont des entêtes de colonnes que tu veux enlever, dans les options d'Excel autrement, tu peux choisir de ne pas les importer si ma mémoire est bonne.
Sinon, il te reste la solution suivante :
POur les 2 premières lignes rien de bien compliqué, je suppose que tu y arrives.
Tu as choisi une cellule pour l'importation de ton fichier texte, tu connais donc le numéro des 2 premières lignes.
Si ta première ligne est par exemple la 10 :
Rows("10:11").Delete Shift:=xlUp
Il reste à déterminer la dernière ligne.
Le plus simple je pense est de créer une cellule (par exemple A1) avec comme formule :
=nbval(A10:A...) Tumets ici un chiffre suffisament grand pour couvrir ton fichier texte (tu sais qu'il y a environ 500 lignes, etc .. sinon, tu colles A32000 par exemple).
A condition bien sur que ton import de texte commence dans la colonne A ^^
Ca va te donner le nombre de lignes non vides.
Ensuite, pour déterminer la dernière ligne :
DernièreLigne=Range("A1").value + 10 - 1 (le 10 est le numéro de la ligne où tu importes la 1ère donnée)
Plus qu'à la supprimer elle aussi :
DernièreLigne = DernièreLigne & ":" & DernièreLigne
Rows(DernièreLigne).Delete Shift:=xlUp
hicham_a_t23
Messages postés9Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 1 août 2005 21 juil. 2005 à 14:08
merci, tu m'as donné de bonnes idées pour commencer; je m'excuse;d'abbord je voulais dire la première; la troisieme et la derniere ligne; mais ca revient au même. Voici la structure des fichiers .txt ( il y ad'autres avec 1600 lignes)
je vais essayer et te repondre si ca marche
Vous n’avez pas trouvé la réponse que vous recherchez ?
hicham_a_t23
Messages postés9Date d'inscriptionmercredi 13 juillet 2005StatutMembreDernière intervention 1 août 2005 21 juil. 2005 à 15:27
merci ca marche mnt j'ai pu eliminer la derniere ligne en utilisant le code suivant :
nbre_lignes = excel.ActiveWorkbook.ActiveSheet.UsedRange.Rows.Count
Rows(nbre_lignes).Delete Shift:=xlUp
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 22 juil. 2005 à 09:41
Je dois avouer que là je patauge.
En fait, je ne vois pas du tout ce que tu veux faire, si tu peux être un peu plus précis (ou alors, il est encore trop tôt pour moi et mon cerveau ne tourne pas encore à plein régime :)