Tonin39
Messages postés75Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 avril 2006
-
13 avril 2005 à 11:36
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 2006
-
15 avril 2005 à 14:51
bonjour je possede une fiche data avec des chemin de la forme:
soit
C:\CesvaData\2005-04-12_17-13- 57_000_RTA.xls
ou
C:\CesvaData\2005-04-12_17-13-57_000_RT.xls
la différence ce joue au niveau de RT et RTA
jai réalisé un prog qui ouvre ces fichiers un par un mais le pb c que ensuite je fais des traitements sur ces fichiers et que suivant le type RT ou RTA ce traitement change
jaimerais donc que avt douvrir je fasse une structure condition qui me di si RTA alors une sorte de traitement et si RT alors une autre sorte
QUES: comment faire pour que lordi reconnaisse RT ou RTA ds lextension du fichier?
merci de rep svp
voici mon prg:
Sub ouvrirfichier()
Dim z As Double
Dim i As Double
Dim rec As String
Dim col As Double
Application.ScreenUpdating = False
For z = 1 To 100
Worksheets("DATA").Activate
rec = Worksheets("DATA").Cells(z + 1, 1).Value
Cells(z + 1, 1).Select
' si valeur alors faire tt le traitement
If rec <> "" Then
'va chercher la source du fichier lister avec le pgr d'avt
Workbooks.Open Filename:=rec
rec = ActiveWorkbook.Name
'boucle qui copie les données une fois sur 2 puis les colle ds "inter"
For ctr = 11 To 51 Step 2
Windows(rec).Activate
i = (ctr - 8)
Cells(7, ctr).Copy Workbooks("FichesCesva.xls").Sheets("inter").Cells(2, i)
Next ctr
Workbooks(rec).Close
'ensuite on ordonne les données, plus bonne police ds "inter"
Windows("FichesCesva.xls").Activate
Sheets("inter").Select
Range("C2,E2,G2,I2,K2,M2,O2,Q2,S2,U2,W2,Y2,AA2,AC2,AE2,AG2,AI2,AK2,AM2,AO2,AQ2").Copy Range("C4")
Range("C4:W4").Select
With Selection.Font
.Name = "Tahoma"
.Size = 5.5
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
' on copie le traitement
col = z + 1
Selection.Copy
' on colle les données ds la feuille DATA
Sheets("DATA").Select
Cells(col, 3).Select
ActiveSheet.Paste
End If
Next
Sheets("data").Select
End Sub
le traitement et seulement pour les fichiers RTA pr les Rt c plus simple, dc indiquer moi la structure condition a taper svp
salut<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />
nostra78
Messages postés137Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention 6 décembre 2005 13 avril 2005 à 12:03
C pas facil à comprendre.
RT et RTA ne sont pas des extensions mais xls oui.
If RT Then
Instruction
ElseIf RTA then
Instruction
End If
C pas ce que tu veux a mon avis.
Explique un peu mieux, je vois pas tu veux faire des trucs avant d'ouvrir les classuers. Alors qu'est ce qur RT et RTA???????
Tonin39
Messages postés75Date d'inscriptionmercredi 6 avril 2005StatutMembreDernière intervention 2 avril 2006 13 avril 2005 à 12:47
ben sur ma feuille je récupère les chemin dacces de mes fichiers et il y en a qui sont en RT.xls
et dautre en RTA.xls, jaimerais donc que avt douvrir les classeur il y est un test (structure condition), c a dire quon lise la liste de mes chemins dacces et kon dise si c RT alors tel traitement si c RTA alors c autre traitement
ta structure est celle que jenvisageait, mais je ne sais pa comment faire pour ke ds une cellule on reconnaisse si il y a RT ou RTA pour emsuite ouvrir les fichiers et associer le traitement que je veu
voila si ta besoin dautre chose di moi stp
merci et jcompte sur toi
nostra78
Messages postés137Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention 6 décembre 2005 13 avril 2005 à 16:54
D = Right$(rec, Len(rec) - InStr(rec, "R"))
If D Like "TA.xls" then
instruction RTA
Else
instruction RT
End If
La je pense que c bon
Tiens moi au courant
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 14 avril 2005 à 17:28
right$(rec,7), je prend les 7 caractères de droite de la variable rec.
ucase c'est pour mettre en majuscules avant de comparer. Quelquefois, ce n'est pas nécessaire si les instructions qu'on utilise ne font pas la différence entre minuscule et majuscule mais je préfère conserver cette habitude, ça évite pas mal d'erreurs.
select case, ça remplace les if, elseif et autres if imbriqués. C'est plus lisible et plus maintenable.