OVH Cloud OVH Cloud

trouver la derniere donnée de la colonne A

2 réponses
Avatar
mrossier
Je recois un fichier .txt de donnees que je transforme par macro en
.xls-
J'ajoute a ce fichier 2 colonnes de calcul de dates, avant de le
transferer dans Access2002/XP
Pour l'instant, les colonnes s'arretent (selon macro)a la ligne 55000.
En fonction de la taille du fichier .txt, soit il y a moins de 55000
lignes, donc les cellules de mes 2 colonnes me renvoient des zeros
depuis la dernier ligne de donnees, soit le fichier est plus long,
auquel cas, les colonnes ne sont pas completes depuis la ligne 55000.
Question1: comment indiquer dans mon code que les calculs doivent
aller jusqu'à la derniere cellule "notblank" de la colonne "A" ?
Question2: le nom du worksheet du fichier .txt s'incremente
automatiquement (?)
il s'appellait a l'origine "expda.xls" puis est passé par
"expda1.xls"...expda2.xls... et aujourd'hui "expda10.xls"
Pour quelle raison cela se passe-t-il ?
Dans ma macro, j'ai l'obligation de nommer le worksheet, donc je dois
manuellement modifier le nom. Existe-t-il une facon de renommer
automatiquement ce worksheet (sans connaitre son nom au prealable) ?

---
Voici les code déjà genere par la macro

Sub ExpDA1()
'
' ExpDA1 Macro
' Macro recorded 09.09.2003 by mrossier
'

'Renomination de Expda1 (ou Expda2) ex fichier Bunker en ExpDA.xls
'Suppression des lignes 1 à 3
'
ActiveWorkbook.SaveAs Filename:="C:\1_BUNKER\expda.xls",
FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=False _
, CreateBackup:=False
Rows("1:3").Select
Selection.Delete Shift:=xlUp
'
'Renomination du worksheet en "expDA"
'
Sheets("expDA").Select
Sheets("expDA").Name = "expDA"
Range("A1").Select
'Ouverture de C:\1_BUNKER\1_Bunk_EnTete.xls
'Copie des lignes 1+2 et transfert dans le file expda.xls
'
Workbooks.Open Filename:="C:\1_BUNKER\1_Bunk_EnTete.xls"
Rows("1:2").Select
Selection.Copy
Windows("expda.xls").Activate
Range("A1").Select
ActiveSheet.Paste
'
'Agrandissement des colonnes de dates
'
Range("C:C,F:F,G:G,H:H,K:K").Select
Range("K1").Activate
Selection.ColumnWidth = 10.14
'
'Selection des colonnes K et L et copie de K1 et L1 jusqu'à la ligne
55001
'
Range("K2:L2").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("K2:L55001"),
Type:=xlFillDefault
Range("K2:L55001").Select
Range("A1").Select
'
'Sauvegarde du file ExpDA.xls en Bunker_Access.xls
'
ActiveWorkbook.SaveAs Filename:="C:\1_BUNKER\Bunker_Access.xls",
FileFormat _
:=xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:= _
False, CreateBackup:=False
End Sub

2 réponses

Avatar
Serge
Question 1
With ActiveCell.SpecialCells(xlLastCell)
NbCol = ActiveCell.SpecialCells(xlLastCell).Column
NbRow = ActiveCell.SpecialCells(xlLastCell).Row
End With

Question 2
Sheets(1).Name = "ExpDA1"

Bon Noël

-----Message d'origine-----
Je recois un fichier .txt de donnees que je transforme
par macro en

..xls-
J'ajoute a ce fichier 2 colonnes de calcul de dates,
avant de le

transferer dans Access2002/XP
Pour l'instant, les colonnes s'arretent (selon macro)a la
ligne 55000.

En fonction de la taille du fichier .txt, soit il y a
moins de 55000

lignes, donc les cellules de mes 2 colonnes me renvoient
des zeros

depuis la dernier ligne de donnees, soit le fichier est
plus long,

auquel cas, les colonnes ne sont pas completes depuis la
ligne 55000.

Question1: comment indiquer dans mon code que les calculs
doivent

aller jusqu'à la derniere cellule "notblank" de la
colonne "A" ?

Question2: le nom du worksheet du fichier .txt
s'incremente

automatiquement (?)
il s'appellait a l'origine "expda.xls" puis est passé par
"expda1.xls"...expda2.xls... et aujourd'hui "expda10.xls"
Pour quelle raison cela se passe-t-il ?
Dans ma macro, j'ai l'obligation de nommer le worksheet,
donc je dois

manuellement modifier le nom. Existe-t-il une facon de
renommer

automatiquement ce worksheet (sans connaitre son nom au
prealable) ?


---
Voici les code déjà genere par la macro

Sub ExpDA1()
'
' ExpDA1 Macro
' Macro recorded 09.09.2003 by mrossier
'

'Renomination de Expda1 (ou Expda2) ex fichier Bunker en
ExpDA.xls

'Suppression des lignes 1 à 3
'
ActiveWorkbook.SaveAs
Filename:="C:1_BUNKERexpda.xls",

FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse _
, CreateBackup:úlse
Rows("1:3").Select
Selection.Delete Shift:=xlUp
'
'Renomination du worksheet en "expDA"
'
Sheets("expDA").Select
Sheets("expDA").Name = "expDA"
Range("A1").Select
'Ouverture de C:1_BUNKER1_Bunk_EnTete.xls
'Copie des lignes 1+2 et transfert dans le file expda.xls
'
Workbooks.Open
Filename:="C:1_BUNKER1_Bunk_EnTete.xls"

Rows("1:2").Select
Selection.Copy
Windows("expda.xls").Activate
Range("A1").Select
ActiveSheet.Paste
'
'Agrandissement des colonnes de dates
'
Range("C:C,F:F,G:G,H:H,K:K").Select
Range("K1").Activate
Selection.ColumnWidth = 10.14
'
'Selection des colonnes K et L et copie de K1 et L1
jusqu'à la ligne

55001
'
Range("K2:L2").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("K2:L55001"),
Type:=xlFillDefault
Range("K2:L55001").Select
Range("A1").Select
'
'Sauvegarde du file ExpDA.xls en Bunker_Access.xls
'
ActiveWorkbook.SaveAs
Filename:="C:1_BUNKERBunker_Access.xls",

FileFormat _
:=xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:= _
False, CreateBackup:úlse
End Sub
.



Avatar
mrossier
Merci Serge pour ces infos,
mais ou dois-je intercaler ces lignes dans mon code ??
Je ne connais rien en VBA !!
Mci d'avance
++


"Serge" wrote in message news:<08a401c3c575$a535fc50$...
Question 1
With ActiveCell.SpecialCells(xlLastCell)
NbCol = ActiveCell.SpecialCells(xlLastCell).Column
NbRow = ActiveCell.SpecialCells(xlLastCell).Row
End With

Question 2
Sheets(1).Name = "ExpDA1"

Bon No l

-----Message d'origine-----
Je recois un fichier .txt de donnees que je transforme
par macro en

..xls-
J'ajoute a ce fichier 2 colonnes de calcul de dates,
avant de le

transferer dans Access2002/XP
Pour l'instant, les colonnes s'arretent (selon macro)a la
ligne 55000.

En fonction de la taille du fichier .txt, soit il y a
moins de 55000

lignes, donc les cellules de mes 2 colonnes me renvoient
des zeros

depuis la dernier ligne de donnees, soit le fichier est
plus long,

auquel cas, les colonnes ne sont pas completes depuis la
ligne 55000.

Question1: comment indiquer dans mon code que les calculs
doivent

aller jusqu' la derniere cellule "notblank" de la
colonne "A" ?

Question2: le nom du worksheet du fichier .txt
s'incremente

automatiquement (?)
il s'appellait a l'origine "expda.xls" puis est pass par
"expda1.xls"...expda2.xls... et aujourd'hui "expda10.xls"
Pour quelle raison cela se passe-t-il ?
Dans ma macro, j'ai l'obligation de nommer le worksheet,
donc je dois

manuellement modifier le nom. Existe-t-il une facon de
renommer

automatiquement ce worksheet (sans connaitre son nom au
prealable) ?


---
Voici les code d j genere par la macro

Sub ExpDA1()
'
' ExpDA1 Macro
' Macro recorded 09.09.2003 by mrossier
'

'Renomination de Expda1 (ou Expda2) ex fichier Bunker en
ExpDA.xls

'Suppression des lignes 1 3
'
ActiveWorkbook.SaveAs
Filename:="C:1 BUNKERexpda.xls",

FileFormat:=
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse
, CreateBackup:úlse
Rows("1:3").Select
Selection.Delete Shift:=xlUp
'
'Renomination du worksheet en "expDA"
'
Sheets("expDA").Select
Sheets("expDA").Name = "expDA"
Range("A1").Select
'Ouverture de C:1 BUNKER1 Bunk EnTete.xls
'Copie des lignes 1+2 et transfert dans le file expda.xls
'
Workbooks.Open
Filename:="C:1 BUNKER1 Bunk EnTete.xls"

Rows("1:2").Select
Selection.Copy
Windows("expda.xls").Activate
Range("A1").Select
ActiveSheet.Paste
'
'Agrandissement des colonnes de dates
'
Range("C:C,F:F,G:G,H:H,K:K").Select
Range("K1").Activate
Selection.ColumnWidth = 10.14
'
'Selection des colonnes K et L et copie de K1 et L1
jusqu' la ligne

55001
'
Range("K2:L2").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("K2:L55001"),
Type:=xlFillDefault
Range("K2:L55001").Select
Range("A1").Select
'
'Sauvegarde du file ExpDA.xls en Bunker Access.xls
'
ActiveWorkbook.SaveAs
Filename:="C:1 BUNKERBunker Access.xls",

FileFormat
:=xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=
False, CreateBackup:úlse
End Sub
.