Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Débutant - Problème de Boucle une récupération de données

27 réponses
Avatar
ji
Bonjour à tous,
Ayant avancer sur ma problèmatique sur ce forum (grâce à Misange), je
n'arrive pas en mettre en boucle ma macro..
Cette dernière sert à récuperer des données précises dans un fichier TIF..
En voici le code:

Sub Macro1()

Dim Fichier As String, Chemin As String
Dim i As Long

'Répertoire contenant les photos
Chemin = "S:\Cochlée nov 2007"
Fichier = Dir(Chemin & "\*.tif")

'execution en boucle de tous les fichiers en tif
Do While Fichier <> ""

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & Chemin & "\" & Fichier, Destination:=Range("A1"))

'ANCIEN jouvre mon image avec des delimiteur =
'ANCIEN ChDir "S:\Cochlée nov 2007"
'ANCIEN Workbooks.OpenText Filename:="S:\Cochlée nov
2007\1-07168a1_001.tif", Origin _
'ANCIEN :=xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier:= _
'ANCIEN xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False,
Semicolon:=False _
'ANCIEN , Comma:=False, Space:=False, Other:=True, OtherChar:="=",
FieldInfo _
'ANCIEN :=Array(1, 2), TrailingMinusNumbers:=True
' ActiveWindow.ScrollRow = 6
' ActiveWindow.ScrollRow = 17
' ActiveWindow.ScrollRow = 27
' ActiveWindow.ScrollRow = 37
' ActiveWindow.ScrollRow = 58
' ActiveWindow.ScrollRow = 79
' ActiveWindow.ScrollRow = 110
' ActiveWindow.ScrollRow = 407
' ActiveWindow.ScrollRow = 621
' ActiveWindow.ScrollRow = 694
' ActiveWindow.ScrollRow = 777
' ActiveWindow.ScrollRow = 881
' ActiveWindow.ScrollRow = 990
' ActiveWindow.ScrollRow = 1105
' ActiveWindow.ScrollRow = 1298
' ActiveWindow.ScrollRow = 1371
' ActiveWindow.ScrollRow = 1584
' ActiveWindow.ScrollRow = 1824
' ActiveWindow.ScrollRow = 1964
' ActiveWindow.ScrollRow = 2131
' ActiveWindow.ScrollRow = 2193
' ActiveWindow.ScrollRow = 2266
' ActiveWindow.ScrollRow = 2303
' ActiveWindow.ScrollRow = 2318
' ActiveWindow.ScrollRow = 2324
' ActiveWindow.ScrollRow = 2339
' ActiveWindow.ScrollRow = 2344
' ActiveWindow.ScrollRow = 2355
' ActiveWindow.ScrollRow = 2360
' ActiveWindow.ScrollRow = 2365
' ActiveWindow.ScrollRow = 2370
' ActiveWindow.ScrollRow = 2376
' ActiveWindow.ScrollRow = 2381
' ActiveWindow.ScrollRow = 2391
' ActiveWindow.ScrollRow = 2396
' ActiveWindow.ScrollRow = 2402
' ActiveWindow.ScrollRow = 2412
' ActiveWindow.ScrollRow = 2422
' ActiveWindow.ScrollRow = 2428
' ActiveWindow.ScrollRow = 2438
' ActiveWindow.ScrollRow = 2443
' ActiveWindow.ScrollRow = 2459
' ActiveWindow.ScrollRow = 2469
' ActiveWindow.ScrollRow = 2480
' ActiveWindow.ScrollRow = 2495
' ActiveWindow.ScrollRow = 2501
' ActiveWindow.ScrollRow = 2511
' ActiveWindow.ScrollRow = 2527
' ActiveWindow.ScrollRow = 2542
' ActiveWindow.ScrollRow = 2553
' ActiveWindow.ScrollRow = 2568
' ActiveWindow.ScrollRow = 2584
' ActiveWindow.ScrollRow = 2599
' ActiveWindow.ScrollRow = 2610
' ActiveWindow.ScrollRow = 2620
' ActiveWindow.ScrollRow = 2631
' ActiveWindow.ScrollRow = 2636
' ActiveWindow.ScrollRow = 2646
' ActiveWindow.ScrollRow = 2657
' ActiveWindow.ScrollRow = 2662
' ActiveWindow.ScrollRow = 2667
' ActiveWindow.ScrollRow = 2672
' ActiveWindow.ScrollRow = 2683
' ActiveWindow.ScrollRow = 2693
' ActiveWindow.ScrollRow = 2709
' ActiveWindow.ScrollRow = 2735
' ActiveWindow.ScrollRow = 2756
' ActiveWindow.ScrollRow = 2771
' ActiveWindow.ScrollRow = 2792
' ActiveWindow.ScrollRow = 2813
' ActiveWindow.ScrollRow = 2829
' ActiveWindow.ScrollRow = 2855
' ActiveWindow.ScrollRow = 2886
' ActiveWindow.ScrollRow = 2912
' ActiveWindow.ScrollRow = 2938
' ActiveWindow.ScrollRow = 2969
' ActiveWindow.ScrollRow = 3006
' ActiveWindow.ScrollRow = 3032
' ActiveWindow.ScrollRow = 3047
' ActiveWindow.ScrollRow = 3068
' ActiveWindow.ScrollRow = 3084
' ActiveWindow.ScrollRow = 3094
' ActiveWindow.ScrollRow = 3105
' ActiveWindow.ScrollRow = 3120
' ActiveWindow.ScrollRow = 3131
' ActiveWindow.ScrollRow = 3136
' ActiveWindow.ScrollRow = 3146
' ActiveWindow.ScrollRow = 3151
' ActiveWindow.ScrollRow = 3162
' ActiveWindow.ScrollRow = 3172
' ActiveWindow.ScrollRow = 3188
' ActiveWindow.ScrollRow = 3198
' ActiveWindow.ScrollRow = 3209
' ActiveWindow.ScrollRow = 3214
' ActiveWindow.ScrollRow = 3224
' ActiveWindow.ScrollRow = 3240
' ActiveWindow.ScrollRow = 3271
' ActiveWindow.ScrollRow = 3308
' ActiveWindow.ScrollRow = 3323
' ActiveWindow.ScrollRow = 3344
' ActiveWindow.ScrollRow = 3360
' ActiveWindow.ScrollRow = 3375
' ActiveWindow.ScrollRow = 3396
' ActiveWindow.ScrollRow = 3412
' ActiveWindow.ScrollRow = 3422
' ActiveWindow.ScrollRow = 3433
' ActiveWindow.ScrollRow = 3443
' ActiveWindow.ScrollRow = 3506
' ActiveWindow.ScrollRow = 3552
' ActiveWindow.ScrollRow = 3651
' ActiveWindow.ScrollRow = 3714
' ActiveWindow.ScrollRow = 3776
' ActiveWindow.ScrollRow = 3875
' ActiveWindow.ScrollRow = 3969
' ActiveWindow.ScrollRow = 3979
' ActiveWindow.ScrollRow = 3985
' ActiveWindow.ScrollRow = 3990
' ActiveWindow.ScrollRow = 3995
' ActiveWindow.ScrollRow = 4000
' ActiveWindow.ScrollRow = 4016
' ActiveWindow.ScrollRow = 4026
' ActiveWindow.ScrollRow = 4032
' ActiveWindow.ScrollRow = 4042
' ActiveWindow.ScrollRow = 4052
' ActiveWindow.ScrollRow = 4068
' ActiveWindow.ScrollRow = 4078
' ActiveWindow.ScrollRow = 4084
' ActiveWindow.ScrollRow = 4089
' ActiveWindow.ScrollRow = 4094
' ActiveWindow.ScrollRow = 4099
' ActiveWindow.ScrollRow = 4104
' ActiveWindow.ScrollRow = 4110
' ActiveWindow.ScrollRow = 4115
' ActiveWindow.ScrollRow = 4120
' ActiveWindow.ScrollRow = 4125
' ActiveWindow.ScrollRow = 4130
' ActiveWindow.ScrollRow = 4136
' ActiveWindow.ScrollRow = 4130
' ActiveWindow.ScrollRow = 4125
' ActiveWindow.ScrollRow = 4120
' ActiveWindow.ScrollRow = 4125
' ActiveWindow.ScrollRow = 4130
' ActiveWindow.ScrollRow = 4136
' ActiveWindow.ScrollRow = 4141
' ActiveWindow.ScrollRow = 4136
' ActiveWindow.ScrollRow = 4125
' ActiveWindow.ScrollRow = 4120
' ActiveWindow.ScrollRow = 4110
' ActiveWindow.ScrollRow = 4099
' ActiveWindow.ScrollRow = 4089
' ActiveWindow.ScrollRow = 4068
' ActiveWindow.ScrollRow = 3985
' ActiveWindow.ScrollRow = 3797
' ActiveWindow.ScrollRow = 3500
' ActiveWindow.ScrollRow = 3412
' ActiveWindow.ScrollRow = 3276
' ActiveWindow.ScrollRow = 3073
' ActiveWindow.ScrollRow = 3000
' ActiveWindow.ScrollRow = 2865
' ActiveWindow.ScrollRow = 2803
' ActiveWindow.ScrollRow = 2678
' ActiveWindow.ScrollRow = 2615
' ActiveWindow.ScrollRow = 2568
' ActiveWindow.ScrollRow = 2516
' ActiveWindow.ScrollRow = 2464
' ActiveWindow.ScrollRow = 2422
' ActiveWindow.ScrollRow = 2344
' ActiveWindow.ScrollRow = 2266
' ActiveWindow.ScrollRow = 2188
' ActiveWindow.ScrollRow = 2089
' ActiveWindow.ScrollRow = 2063
' ActiveWindow.ScrollRow = 1969
' ActiveWindow.ScrollRow = 1834
' ActiveWindow.ScrollRow = 1782
' ActiveWindow.ScrollRow = 1740
' ActiveWindow.ScrollRow = 1730
' ActiveWindow.ScrollRow = 1725
' ActiveWindow.ScrollRow = 1714
' ActiveWindow.ScrollRow = 1699
' ActiveWindow.ScrollRow = 1683
' ActiveWindow.ScrollRow = 1667
' ActiveWindow.ScrollRow = 1647
' ActiveWindow.ScrollRow = 1594
' ActiveWindow.ScrollRow = 1459
' ActiveWindow.ScrollRow = 1345
' ActiveWindow.ScrollRow = 1266
' ActiveWindow.ScrollRow = 1230
' ActiveWindow.ScrollRow = 1157
' ActiveWindow.ScrollRow = 1121
' ActiveWindow.ScrollRow = 1089
' ActiveWindow.ScrollRow = 1063
' ActiveWindow.ScrollRow = 1037
' ActiveWindow.ScrollRow = 1011
' ActiveWindow.ScrollRow = 996
' ActiveWindow.ScrollRow = 980
' ActiveWindow.ScrollRow = 970
' ActiveWindow.ScrollRow = 954
' ActiveWindow.ScrollRow = 949
' ActiveWindow.ScrollRow = 938
' ActiveWindow.ScrollRow = 933
' ActiveWindow.ScrollRow = 928
' ActiveWindow.ScrollRow = 918
' ActiveWindow.ScrollRow = 912
' ActiveWindow.ScrollRow = 902
' ActiveWindow.ScrollRow = 860
' ActiveWindow.ScrollRow = 834
' ActiveWindow.ScrollRow = 803
' ActiveWindow.ScrollRow = 772
' ActiveWindow.ScrollRow = 740
' ActiveWindow.ScrollRow = 714
' ActiveWindow.ScrollRow = 683
' ActiveWindow.ScrollRow = 662
' ActiveWindow.ScrollRow = 642
' ActiveWindow.ScrollRow = 626
' ActiveWindow.ScrollRow = 610
' ActiveWindow.ScrollRow = 600
' ActiveWindow.ScrollRow = 589
' ActiveWindow.ScrollRow = 574
' ActiveWindow.ScrollRow = 558
' ActiveWindow.ScrollRow = 548
' ActiveWindow.ScrollRow = 537
' ActiveWindow.ScrollRow = 527
' ActiveWindow.ScrollRow = 501
' ActiveWindow.ScrollRow = 475
' ActiveWindow.ScrollRow = 444
' ActiveWindow.ScrollRow = 386
' ActiveWindow.ScrollRow = 324
' ActiveWindow.ScrollRow = 251
' ActiveWindow.ScrollRow = 173
' ActiveWindow.ScrollRow = 22
' ActiveWindow.ScrollRow = 6
' ActiveWindow.ScrollRow = 1

Workbooks.Add ' jouvre un nouveau classeur

'Je cherche HV dans limage je copie la valeur et je colle dans nouveau
classeur 1
Windows("1-07168a1_001.tif").Activate 'je selectionne mon image ou je
vais chercher
Cells.Find(What:="HV", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=True _
, SearchFormat:=False).Activate
Range("B4145").Select
Selection.Copy
Windows("Classeur1").Activate
Range("A2").Select
ActiveSheet.Paste

' Idem avec Spot
Windows("1-07168a1_001.tif").Activate
Cells.Find(What:="Spot", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
True, SearchFormat:=False).Activate
Range("B4146").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Classeur1").Activate
Range("B2").Select
ActiveSheet.Paste

'Idem avec WorkingDistance
Windows("1-07168a1_001.tif").Activate
Cells.Find(What:="WorkingDistance", After:=ActiveCell,
LookIn:=xlFormulas _
, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).Activate
Range("B4223").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Classeur1").Activate
Range("C2").Select
ActiveSheet.Paste

'Idem avec ChpPressure
Windows("1-07168a1_001.tif").Activate
Cells.Find(What:="ChPressure", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).Activate
Range("B4236").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Classeur1").Activate
Range("D2").Select
ActiveSheet.Paste

'Idem avec UserMode
Windows("1-07168a1_001.tif").Activate
Cells.Find(What:="UserMode", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).Activate
Range("B4238").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Classeur1").Activate
Range("E2").Select
ActiveSheet.Paste

'Idem avec Temperature
Windows("1-07168a1_001.tif").Activate
Cells.Find(What:="Temperature", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).Activate
Range("B4241").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Classeur1").Activate
Range("F2").Select
ActiveSheet.Paste

'Idem avec Name
Windows("1-07168a1_001.tif").Activate
Cells.Find(What:="Name", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:= _
True, SearchFormat:=False).Activate
Range("B4245").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Classeur1").Activate
Range("G2").Select
ActiveSheet.Paste

'jenregistre sous txt tabulaeur
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="S:\Cochlée nov 2007\Classeur1.txt", _
FileFormat:=xlText, CreateBackup:=False

'Jenregistre sous format excell
ActiveWorkbook.SaveAs Filename:="S:\Cochlée nov
2007\reception_extract.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

Windows("macro1.xls").Activate

Fichier = Dir
Loop
End Sub

'End Sub


Je l'ai commenté afin qu'on puisse suivre que je souhaite faire et où je
veux aller..
J'ai un message d'erreur "Erreur de compilation : Boucle sans Do".
Pourriez vous me mettre sur la bonne voie.

Merci par avance

Cordialement,

Ji

10 réponses

1 2 3
Avatar
FFO
Rebonjours à toi

J'ai testé ton nouveau ficher et c'est bien ce que je craignai
N'ayant pas corrigé comme je te l'ai indiqué les instructions liées à la
création et à l'appel du classeur créé si tu lances une première fois ta
macro avec un peu de chance le classeur créé portera bien le nom "Classeur1"
et tout le déroulement s'effectuera sans anomalie mais si tu relances en
suivant une 2° fois ta macro elle plantera à tous les coups car le classeur
créé ne portera plus le même nom "Classeur1"

J'insiste sur le fait que ton instruction :

Workbooks.Add

créé un classeur qui ne portera pas obligatoirement le nom "Classeur1" dont
tu fais référence à plusieurs reprises dans les différentes lignes de code :

Windows("Classeur1").Activate

Le plantage si le classeur créé ne porte pas le nom de "Classeur1" est
obligatoire

Je t'invite dabord à faire un essai de 2 exécutions successives sans
refermer le fichier Excel de ton code si la premier se déroule normalement la
2° sera voué au plantage

et d'apporter les corrections que je t'ai proposé dans ma réponse précédente

Et de renouveler l'expérience

A ta disposition pour une aide éventuelle

Tiens moi informé


Bonjour FFO,
Merci encore pour votre rapidité .. j'avoue ne pas bien comprendre votre
explication.. pouvez vous m'en dire d'avantage.. avec ce problème de classeur
N..
Par ailleurs, j'ai testé la macro sur différents postes et en changeant bien
la lettre du disque, je n'éprouve aucun problème à executer la macro..;
J'ai remodifier la macro en question et vous la redépose à l'adresse suivante:

http://www.cijoint.fr/cij13177563933936.zip

Ji


Avatar
Misange
Re bonjour Ji

Je n'ai pas analysé ton code en détail mais ce que FFO veut te dire
c'est un problème de nommage de tes classeurs :
Quand tu travailles avec excel, si tu crées un classeur, il s'appelle 1
la première fois. Tu le jettes, tu en crées un nouveau. Si tu n'as pas
quitté l'application entre temps, excel ne se dit pas "tiens finalement
Ji n'a pas gardé le classeur 1 donc il est libre, je vais l'appeller
classeur 1. Il l'appelle classeur 2. Et ceci est vrai pour de très
nombreux objets d'excel : excel numérote séquentiellement les graphiques
que tu crées, mais aussi les textbox, et foultitude d'autres trucs et ne
repart à 1 que quand tu as quitté excel puis relancé l'application.

Si tu lances ton application un jour alors que tu as auparavant
travaillé sur excel pour taut autre chose et créé 33 classeurs que tu as
jetés (pourquoi pas ?!), dans ta macro, l'instruction workbooks.add va
créer un classeur numéroté 34. La suite de ta macro faisant appel au
classeur 1 va donc planter. Une solution c'est

soit de créer un classeur, de l'enregistrer de façon à lui affecter un
nom que tu pourras réutiliser par la suite
soit de récupérer le nom Classeur34.xls (le numéro donc en fait)
qu'excel a donné à ton nouveau classeur. C'est ce que te propose FFO.



Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour FFO,
Merci encore pour votre rapidité .. j'avoue ne pas bien comprendre votre
explication.. pouvez vous m'en dire d'avantage.. avec ce problème de classeur
N..
Par ailleurs, j'ai testé la macro sur différents postes et en changeant bien
la lettre du disque, je n'éprouve aucun problème à executer la macro..;
J'ai remodifier la macro en question et vous la redépose à l'adresse suivante:

http://www.cijoint.fr/cij13177563933936.zip

Ji


Avatar
ji
Bonjour,
je viens d'apporter les modifications en question.
Cependant, j'ai l'erreur suivante qui apparait:

"Erreur d'execution 424: Object requis"

Comprends pas ..?

Merci

Ji
Avatar
FFO
Rebonjour à toi

Peux tu me transmettre ce nouveau fichier modifié

Merci


Bonjour,
je viens d'apporter les modifications en question.
Cependant, j'ai l'erreur suivante qui apparait:

"Erreur d'execution 424: Object requis"

Comprends pas ..?

Merci

Ji



Avatar
ji
Bonjour,
Voici le liens du document modifié

http://www.cijoint.fr/cij108405814333902.zip

Merci bien..

Ji
Avatar
ji
Bonjour Misange,
Merci de t'arreter pour ton explication.. Je comprends mieux maintenant
l'adoption du "ClasseurN".
C'est qu'avec ma petite expérience, je lancais ma macro et je m'arretais
là.. Il est tout à fait pertinant de me corriger et de faire voir une
perspectives plus lointaine que ca..
Si j'ai bien compris j'opterai plus pour un "classeur fantome" avec les des
"enregistrement temporaire" puisque ces données devant rebasculer dans des
champs définis dans une table access.

Ji


Re bonjour Ji

Je n'ai pas analysé ton code en détail mais ce que FFO veut te dire
c'est un problème de nommage de tes classeurs :
Quand tu travailles avec excel, si tu crées un classeur, il s'appelle 1
la première fois. Tu le jettes, tu en crées un nouveau. Si tu n'as pas
quitté l'application entre temps, excel ne se dit pas "tiens finalement
Ji n'a pas gardé le classeur 1 donc il est libre, je vais l'appeller
classeur 1. Il l'appelle classeur 2. Et ceci est vrai pour de très
nombreux objets d'excel : excel numérote séquentiellement les graphiques
que tu crées, mais aussi les textbox, et foultitude d'autres trucs et ne
repart à 1 que quand tu as quitté excel puis relancé l'application.

Si tu lances ton application un jour alors que tu as auparavant
travaillé sur excel pour taut autre chose et créé 33 classeurs que tu as
jetés (pourquoi pas ?!), dans ta macro, l'instruction workbooks.add va
créer un classeur numéroté 34. La suite de ta macro faisant appel au
classeur 1 va donc planter. Une solution c'est

soit de créer un classeur, de l'enregistrer de façon à lui affecter un
nom que tu pourras réutiliser par la suite
soit de récupérer le nom Classeur34.xls (le numéro donc en fait)
qu'excel a donné à ton nouveau classeur. C'est ce que te propose FFO.



Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour FFO,
Merci encore pour votre rapidité .. j'avoue ne pas bien comprendre votre
explication.. pouvez vous m'en dire d'avantage.. avec ce problème de classeur
N..
Par ailleurs, j'ai testé la macro sur différents postes et en changeant bien
la lettre du disque, je n'éprouve aucun problème à executer la macro..;
J'ai remodifier la macro en question et vous la redépose à l'adresse suivante:

http://www.cijoint.fr/cij13177563933936.zip

Ji





Avatar
FFO
Rebonjours à toi

Aprés analyse de ce nouveau fichier
Tu n'as pas suivi tout à fait à la lettre mes propositions

Tu dois remplacer la ligne :

Workbooks.Add ' jouvre un nouveau classeur

par :

ClasseurN = Workbooks.Add.Name ' jouvre un nouveau classeur et je récupère
son nom

et non par

ClasseurN = Workbook.Add.Name ' jouvre un nouveau classeur et je récupère
son nom

car il manque la lettre "s" à Workbook d'où ton nouveau plantage exprimé

De plus je t'ai demandé de remplacer "Classeur1" avec les guillemets par
ClasseurN sans les guillemets
Or dans ta macro corrigé je retrouve "ClasseurN" avec les guillemets celà ne
fonctionnera pas

Corriges avec la méthode

Etition/Remplacer
dans Rechercher tu mets "ClasseurN" avec les guillemets
dans Remplacer par tu mets ClasseurN (sans guillemet)

Puis actives le bouton Remplacer tout


Celà fonctionne chez moi
Il en devrait être de même chez toi

Dis moi !!!!


Bonjour,
Voici le liens du document modifié

http://www.cijoint.fr/cij108405814333902.zip

Merci bien..

Ji


Avatar
ji
Bonjour FFO,
Effectivement, c'est le détail qui tue .. Merci beaucoup à toi pour ta
patience. Le calsseur est fonctionnel de ce point vue là.. On peut executer
la macro tant qu'on veut, il ouvre autant de classeur que le nombre executé.
Selon les recommandations de Misange, j'ai intégré ma boucle afin qu'il
passe aux images suivantes.
Cependant, il n'arrive pas à boucler sur les suviantes.. J'ai l'erreur
suivante : "Erreur d'execution 9: l'indice n'appartient pas à la sélection"

Je vous joins le document sur lequel je travail ci dessous:

http://www.cijoint.fr/cij80350469334010.zip

Merci encore à vous.

Cordialement,

Ji
Avatar
FFO
Rebonjours à toi

j'ai essayé de bricolé ta macro compte tenu de cette nouvelle erreur
En fait tu essaies d'activer l'écran de ton fichier .tif qui n'a pas été
préalablement ouvert
J'ai bien trouvé le moyen de l'ouvrir mais impossible de recopier l'image
conformément à la suite des instructions
Je ne m'en sort pas avec le code en l'état

Si c'est bien la recopie automatique dans un document excel des fichiers
image format tif d'un répertoire que tu souhaites je te propose ce nouveau
bout de code qui fonctionne :

Dim Fichier As String, Chemin As String
Dim i As Long
ClasseurN = Workbooks.Add.Name
With Application.FileSearch
.LookIn = "C:Cochlée nov 2007"
.Filename = "*.tif"
.Execute
End With
With Application.FileSearch
j = 0
Range("A1").Activate
For i = 1 To .FoundFiles.Count
Range("A1").Offset(0, j).Activate
ActiveSheet.Pictures.Insert("C:Cochlée nov 2007" & Mid(.FoundFiles(i),
Len(.LookIn) + 2)).Select
j = j + 6
Next i
End With

Attention d'actualiser le lecteur qui ici est "C"

Sur ce lien tu peux récupérer ton fichier prêt avec cette nouvelle macro
fonctionnant sur un lecteur "C"

http://www.cijoint.fr/cij57686408734036.xls

Dis moi si celà te convient



Bonjour FFO,
Effectivement, c'est le détail qui tue .. Merci beaucoup à toi pour ta
patience. Le calsseur est fonctionnel de ce point vue là.. On peut executer
la macro tant qu'on veut, il ouvre autant de classeur que le nombre executé.
Selon les recommandations de Misange, j'ai intégré ma boucle afin qu'il
passe aux images suivantes.
Cependant, il n'arrive pas à boucler sur les suviantes.. J'ai l'erreur
suivante : "Erreur d'execution 9: l'indice n'appartient pas à la sélection"

Je vous joins le document sur lequel je travail ci dessous:

http://www.cijoint.fr/cij80350469334010.zip

Merci encore à vous.

Cordialement,

Ji




Avatar
ji
Bonjour FFO,
Merci pour ta précieuse aide. J'ai regardé avec attention la macro que tu me
proposes.. elle est génial malheureusement elle s'inscript pas dans ce que je
souhaite faire et obtenir comme résultat..

Ce que je demande de faire et que l'on retrouve dans ma macro 1 c'est:
-ouvrir un fichier tif
-rechercher un mot clé dans ce fichier tif
-copier le résultat de la recherche dans un autre classeur
-ainsi de suite ..
(J'ai 7 valeur à récuperer)
-enregistrer dans un premier format TXT
-enregistrer dans un format xls
-fermer
et boucler sur le reste des autres images tif

J'essaie de voir ce qui ne va pas..

Ji
1 2 3