Bonjour tout le monde,
J'aimerai savoir équivalent de "*" de langage batch en VBA. Par exemple en batch on peut faire C:\Documents and Settings\ad\Abroad\*.txt mais en VBA je ne sais pas ce que c'est "*" ?
Merci d'avance
Version imprimable
Bonjour tout le monde,
J'aimerai savoir équivalent de "*" de langage batch en VBA. Par exemple en batch on peut faire C:\Documents and Settings\ad\Abroad\*.txt mais en VBA je ne sais pas ce que c'est "*" ?
Merci d'avance
Bonjour,
en VBA (et aussi en VB tout court), c'est un caractère générique (un "joker", quoi...) , utilisé principalement avec la fonction Dir (à voir dans ton aide en ligne), mais également avec l'opérateur Like (à voir aussi dans ton aide en ligne) ou enfin (plus généralement) avec toute utrilisation de filtre (avec un CommonDialog, par exemple).
Ça dépend de l'utilisation que tu veux en faire : Pour dir, c'est la même chose NFich = Dir("d:\txt\*.txt")
Pour kill, "*.*" ne fonctionne pas
Donne l'utilisation que tu veux en faire ;)
(Erreur corrigée grâce à la gracieuse intervention d'ucfoutu)
Autant pour moi, :oops: c'est kill "*.*" qui ne fonctionne pas
Un exemple ici avec kill...
Depuis le 20/08/2008, j'ai un bit dans la chose qui me sert de mémoire qu'a sauté depuis :(
Merci tout le monde,
en fait je voudrais iporter des fichiers textes qui s'appelent "chemin & "\Abroad\count-ressource_SP-" & u & "-055000.txt"" ou il j'ai ajouter une variable u maintennat j'aimerai importer tout le fichiers txt qui s'appelent chemin & "\Abroad\count-ressource_SP-" & u & *.txt"". c'est pour cela que je vous ai demander de m'aider.
j'ai déjà utilisé la fonction "dir" :
c'est pour voir si le fichier existe ou pasCode:
1
2
3
4 If Dir(chemin & "\Abroad\count-ressource_SP-" & u & "-055000.txt") = "" Then GoTo fin Else End If
Mais comment je dois utiliser "dir" :
je fait comme ca ?:
Merci encoreCode:If Dir(chemin & "\Abroad\count-ressource_SP-" & u & "-*.txt")
Ben...
As-tu essayé ? Et su oui : quel résultat ?
Sans préjudice du code (que l'on ne voit pas) de ta clause Else et sans préjudice, non plus de l'existence éventuelle de Fichiers en attribut VbHidden ...
Je te signale à tout hasard que l'exemple donné dans ton aide en ligne, sur ta machine, pour l'utilisation de la fonction Dir correspond pile-poil à ce que tu cherches à faire ! (parcours tant que ...)
oui j'ai déjà essayé et il me met erreur d'execution '1004'
Voici mon code
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 Sub AV() Worksheets("A&V").Activate chemin = ThisWorkbook.Path Dim Adr As String Dim année As Long Dim mois Dim u As Long ' cette macro sert à importer et à ranger les données du serveur selon la date donnée For i = (Date - 50) To Date Worksheets("A&V").Cells(257, "U") = i Worksheets("A&V").Cells(254, "U") = Worksheets("A&V").Cells(253, "U") & Worksheets("A&V").Cells(255, "U") & Worksheets("A&V").Cells(252, "U") u = Worksheets("A&V").Cells(254, "U") ' on s'occupe de l'endroit dont les fichiers doivent être récupperés Adr = chemin & "\Abroad\count-ressource_SP-" & u & Fich=Dir(Adr & "*.txt") If Fich = "" Then GoTo fin Else End If ' on s'occupe de l'importation du fichier texte With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;" & Fich, _ Destination:=Range("W1")) .Name = "count-ressource_SP" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = -536 .TextFileStartRow = 6 .TextFileParseType = xlFixedWidth .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1) .TextFileFixedColumnWidths = Array(26, 2, 2, 16, 10) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With fin: Columns("V:AX").Select Selection.ClearContents Next i Worksheets("A&V").Cells(1, 1).Select End Sub . . . etc
Salut,
cette instruction est fausse :
il faut enlever le dernier &.Code:
1
2Adr = chemin & "\Abroad\count-ressource_SP-" & u &
mais tu ne dis pas sur quelle instruction tu reçois ce code d'erreur 1004 !! :arf:
Autrechose,
ici le else est inutile car vide (mais bon cela n'est pas une erreur).
Code:
1
2
3
4
5 If Fich = "" Then GoTo fin Else End If
Merci de votre réponse,
oui en effet je l'ai corrigéCitation:
cette instruction est fausse :
Code:Adr = chemin & "\Abroad\count-ressource_SP-" & u &
Bon j'ai fais quelques tentatives et maintenant "*" marche bien mais dès quil arrive à la ligne "end with" pour cloturer l'importation il me met erreur d'execution!
vous savez pk il fait ca ?
3 petites remarques :
1) tu utilises la mauvaise balise pour ton code. Il faut prendre l'icone # pour baliser ton code et pas l'icone à gauche qui sert pour les citations. Avec # ton code sera formatté correctement.
2) Merci de prendre la bonne habitude de TOUJOURS mentionner l'instruction ou l'erreur se produit ET le code d'erreur complet.
3) Je pense que tu n'as pas lu les rêgles du forum qui sont disponibles dans l'entête de la page ou tous les messages sont visibles. Il est utile de lire avant de poster pour comprendre comment rédiger et formatter son texte. Cela ne peut que t'apporter un meilleur taux de réponses à tes questions. ;)
Que vaut Fich si quand ton programme coince tu affiches sa valeur grâce au debug ?
Pour les remarques : entendu
Fich je l'affiche dans 1 cellule ( Worksheets("A&V").Cells(260, "U") = Fich ) et le contenu a l'aire correct
il m'afiche pour la variable Fich : count-ressource_SP-20080707-055000.txt --- > c'est ce que je veux.
J'ai executé le code en utilisant le pas à pas (F8) et en arrivant à l'instruction "End With" il m'affiche
En fait dans le fichier ou excel va chercher les fichiers il exist plusieurs fichier txt comme "count-ressource_SP-20080707-055000.txt " et seulement 20080707 qui change selon la date.Citation:
erreur d'execution '1004'
Erreur défnie par l'application ou par l'objet
Merci encore
Ca marche en fait je n'avais pas ajouter "chelin & "\Abroad\" & Fich"
Merci tout le mondeCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Adr = chemin & "\Abroad\count-ressource_SP-" & u & Fich=Dir(Adr & "*.txt") If Fich = "" Then GoTo fin Else End If ' on s'occupe de l'importation du fichier texte With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;" & Fich, _ Destination:=Range("W1"))
Bonjour encore,
est ce que vous savez pourquoi quand je mets
il me met erreur d'execution '9'Code:Windows(Dir("Dashboard*.xls")).Activate
L'indice n'appratient pas à la selection
Je crois qu'il ne trouve pas la page pour la selectionner mais PK mon code ne marche pas ?
merci d'avance
Parce que ce qui est attendu est un numérique et non une chaîne représentant un chemin...