Débutant - Problème de Boucle une récupération de données
27 réponses
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 <> ""
'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
'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.
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
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:
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
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
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:
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
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
Bonjour,
je viens d'apporter les modifications en question.
Cependant, j'ai l'erreur suivante qui apparait:
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
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:
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
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
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
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
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
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:
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
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
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:
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
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
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
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