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 du mal à comprendre comment d'un fichier image on peux récupérer un mot clé
J'ai besoin de plus de précision pour éventuellement t'aider et notamment où se trouve ce mot clé dans cette image
Merci d'éclarer ma lanterne
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
Rebonjours à toi
J'ai du mal à comprendre comment d'un fichier image on peux récupérer un mot
clé
J'ai besoin de plus de précision pour éventuellement t'aider et notamment où
se trouve ce mot clé dans cette image
Merci d'éclarer ma lanterne
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'ai du mal à comprendre comment d'un fichier image on peux récupérer un mot clé
J'ai besoin de plus de précision pour éventuellement t'aider et notamment où se trouve ce mot clé dans cette image
Merci d'éclarer ma lanterne
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
ji
Rebonjour FFO C'est effectivement la difficultéà laquelle je suis confronté.. d'o mon raisonnement.. Ouvre l'une des images à partir d'Excell, va vers la fin du document et tu veras une ensemble d'information avec des valeurs qui y sont rattaché.. comme par exemple: [...] Date/28/2007 Time:37:20 PM User=supervisor UserText=1_07168A1_001 UserTextUnicode1005F0030003700310036003800410031005F00300030003100
L'objectif étant de récuperer les valeurs [Beam] ==>HV000 ==>Spot=3
[Stage] ==>WorkingDistance=0.00995933
[Vacuum] ==>UserMode=High vacuum
[Specimen] ==>Temperature [Detectors] ==>Name=ETD
Je reste à ta disposition pour plus d'informations,
Milles merci,
Ji
Rebonjour FFO
C'est effectivement la difficultéà laquelle je suis confronté.. d'o mon
raisonnement..
Ouvre l'une des images à partir d'Excell, va vers la fin du document et tu
veras une ensemble d'information avec des valeurs qui y sont rattaché.. comme
par exemple:
[...]
Date/28/2007
Time:37:20 PM
User=supervisor
UserText=1_07168A1_001
UserTextUnicode1005F0030003700310036003800410031005F00300030003100
Rebonjour FFO C'est effectivement la difficultéà laquelle je suis confronté.. d'o mon raisonnement.. Ouvre l'une des images à partir d'Excell, va vers la fin du document et tu veras une ensemble d'information avec des valeurs qui y sont rattaché.. comme par exemple: [...] Date/28/2007 Time:37:20 PM User=supervisor UserText=1_07168A1_001 UserTextUnicode1005F0030003700310036003800410031005F00300030003100
L'objectif étant de récuperer les valeurs [Beam] ==>HV000 ==>Spot=3
[Stage] ==>WorkingDistance=0.00995933
[Vacuum] ==>UserMode=High vacuum
[Specimen] ==>Temperature [Detectors] ==>Name=ETD
Je reste à ta disposition pour plus d'informations,
Milles merci,
Ji
FFO
Rebonjour à toi
Pas simple ton affaire !!!!
Je pense que ce code devrait faire l'affaire Toujours le lecteur C: pris en considération :
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 For i = 1 To .FoundFiles.Count ChDir "C:Cochlée nov 2007" ChDir "C:Cochlée nov 2007" Application.DisplayAlerts = False Workbooks.OpenText Filename:="C:Cochlée nov 2007" & Mid(.FoundFiles(i), Len(.LookIn) + 2), Origin _ :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, _ Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(1, 1), _ TrailingMinusNumbers:=True Columns("A:A").Find(What:="[Beam]", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell.Offset(1, 0).Value Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell.Offset(2, 0).Value Columns("A:A").Find(What:="WorkingDistance", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="UserMode", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="Temperature", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="Name", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:úlse Next i End With
Vu la longueur des lignes d'instruction tu seras trés certainement obligé pour certaine d'entre elles de les réorganiser aprés le copier/coller dans l'éditeur de Macro
J'ai choisi pour les premiers paramètres d'établir la recherche sur le mot "[Beam]" les clés "HV" et "Spot" recherchées se retrouvent à de multiples endroit dans la colonne donc impossible de se baser dessus Ayant trouvé le mot "[Beam]" je récupère les clés dans les 2 cellules qui suivent
Pour les autres clés la recherche est directement basé sur leur nom
Je te mets un lien où tu pourras récupérer mon document réalisé comme décrit
http://www.cijoint.fr/cij34907306034444.xls
Donne moi tes impressions !!!
Rebonjour FFO C'est effectivement la difficultéà laquelle je suis confronté.. d'o mon raisonnement.. Ouvre l'une des images à partir d'Excell, va vers la fin du document et tu veras une ensemble d'information avec des valeurs qui y sont rattaché.. comme par exemple: [...] Date/28/2007 Time:37:20 PM User=supervisor UserText=1_07168A1_001 UserTextUnicode1005F0030003700310036003800410031005F00300030003100
Je reste à ta disposition pour plus d'informations,
Milles merci,
Ji
Rebonjour à toi
Pas simple ton affaire !!!!
Je pense que ce code devrait faire l'affaire
Toujours le lecteur C: pris en considération :
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
For i = 1 To .FoundFiles.Count
ChDir "C:Cochlée nov 2007"
ChDir "C:Cochlée nov 2007"
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="C:Cochlée nov 2007" &
Mid(.FoundFiles(i), Len(.LookIn) + 2), Origin _
:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:úlse, _
Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
Columns("A:A").Find(What:="[Beam]", After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell.Offset(1, 0).Value
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell.Offset(2, 0).Value
Columns("A:A").Find(What:="WorkingDistance", After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell
Columns("A:A").Find(What:="UserMode", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell
Columns("A:A").Find(What:="Temperature", After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell
Columns("A:A").Find(What:="Name", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:úlse
Next i
End With
Vu la longueur des lignes d'instruction tu seras trés certainement obligé
pour certaine d'entre elles de les réorganiser aprés le copier/coller dans
l'éditeur de Macro
J'ai choisi pour les premiers paramètres d'établir la recherche sur le mot
"[Beam]" les clés "HV" et "Spot" recherchées se retrouvent à de multiples
endroit dans la colonne donc impossible de se baser dessus
Ayant trouvé le mot "[Beam]" je récupère les clés dans les 2 cellules qui
suivent
Pour les autres clés la recherche est directement basé sur leur nom
Je te mets un lien où tu pourras récupérer mon document réalisé comme décrit
http://www.cijoint.fr/cij34907306034444.xls
Donne moi tes impressions !!!
Rebonjour FFO
C'est effectivement la difficultéà laquelle je suis confronté.. d'o mon
raisonnement..
Ouvre l'une des images à partir d'Excell, va vers la fin du document et tu
veras une ensemble d'information avec des valeurs qui y sont rattaché.. comme
par exemple:
[...]
Date/28/2007
Time:37:20 PM
User=supervisor
UserText=1_07168A1_001
UserTextUnicode1005F0030003700310036003800410031005F00300030003100
Je pense que ce code devrait faire l'affaire Toujours le lecteur C: pris en considération :
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 For i = 1 To .FoundFiles.Count ChDir "C:Cochlée nov 2007" ChDir "C:Cochlée nov 2007" Application.DisplayAlerts = False Workbooks.OpenText Filename:="C:Cochlée nov 2007" & Mid(.FoundFiles(i), Len(.LookIn) + 2), Origin _ :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, _ Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(1, 1), _ TrailingMinusNumbers:=True Columns("A:A").Find(What:="[Beam]", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell.Offset(1, 0).Value Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell.Offset(2, 0).Value Columns("A:A").Find(What:="WorkingDistance", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="UserMode", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="Temperature", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="Name", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:úlse Next i End With
Vu la longueur des lignes d'instruction tu seras trés certainement obligé pour certaine d'entre elles de les réorganiser aprés le copier/coller dans l'éditeur de Macro
J'ai choisi pour les premiers paramètres d'établir la recherche sur le mot "[Beam]" les clés "HV" et "Spot" recherchées se retrouvent à de multiples endroit dans la colonne donc impossible de se baser dessus Ayant trouvé le mot "[Beam]" je récupère les clés dans les 2 cellules qui suivent
Pour les autres clés la recherche est directement basé sur leur nom
Je te mets un lien où tu pourras récupérer mon document réalisé comme décrit
http://www.cijoint.fr/cij34907306034444.xls
Donne moi tes impressions !!!
Rebonjour FFO C'est effectivement la difficultéà laquelle je suis confronté.. d'o mon raisonnement.. Ouvre l'une des images à partir d'Excell, va vers la fin du document et tu veras une ensemble d'information avec des valeurs qui y sont rattaché.. comme par exemple: [...] Date/28/2007 Time:37:20 PM User=supervisor UserText=1_07168A1_001 UserTextUnicode1005F0030003700310036003800410031005F00300030003100
Je reste à ta disposition pour plus d'informations,
Milles merci,
Ji
ji
Bonsoir FFO je regarde cela dans quelques instants et te fait un retour dès que c'est fait .. Merci milles fois
Ji
Rebonjour à toi
Pas simple ton affaire !!!!
Je pense que ce code devrait faire l'affaire Toujours le lecteur C: pris en considération :
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 For i = 1 To .FoundFiles.Count ChDir "C:Cochlée nov 2007" ChDir "C:Cochlée nov 2007" Application.DisplayAlerts = False Workbooks.OpenText Filename:="C:Cochlée nov 2007" & Mid(.FoundFiles(i), Len(.LookIn) + 2), Origin _ :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, _ Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(1, 1), _ TrailingMinusNumbers:=True Columns("A:A").Find(What:="[Beam]", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell.Offset(1, 0).Value Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell.Offset(2, 0).Value Columns("A:A").Find(What:="WorkingDistance", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="UserMode", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="Temperature", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="Name", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:úlse Next i End With
Vu la longueur des lignes d'instruction tu seras trés certainement obligé pour certaine d'entre elles de les réorganiser aprés le copier/coller dans l'éditeur de Macro
J'ai choisi pour les premiers paramètres d'établir la recherche sur le mot "[Beam]" les clés "HV" et "Spot" recherchées se retrouvent à de multiples endroit dans la colonne donc impossible de se baser dessus Ayant trouvé le mot "[Beam]" je récupère les clés dans les 2 cellules qui suivent
Pour les autres clés la recherche est directement basé sur leur nom
Je te mets un lien où tu pourras récupérer mon document réalisé comme décrit
http://www.cijoint.fr/cij34907306034444.xls
Donne moi tes impressions !!!
Rebonjour FFO C'est effectivement la difficultéà laquelle je suis confronté.. d'o mon raisonnement.. Ouvre l'une des images à partir d'Excell, va vers la fin du document et tu veras une ensemble d'information avec des valeurs qui y sont rattaché.. comme par exemple: [...] Date/28/2007 Time:37:20 PM User=supervisor UserText=1_07168A1_001 UserTextUnicode1005F0030003700310036003800410031005F00300030003100
Je reste à ta disposition pour plus d'informations,
Milles merci,
Ji
Bonsoir FFO
je regarde cela dans quelques instants et te fait un retour dès que c'est
fait ..
Merci milles fois
Ji
Rebonjour à toi
Pas simple ton affaire !!!!
Je pense que ce code devrait faire l'affaire
Toujours le lecteur C: pris en considération :
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
For i = 1 To .FoundFiles.Count
ChDir "C:Cochlée nov 2007"
ChDir "C:Cochlée nov 2007"
Application.DisplayAlerts = False
Workbooks.OpenText Filename:="C:Cochlée nov 2007" &
Mid(.FoundFiles(i), Len(.LookIn) + 2), Origin _
:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:úlse, _
Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
Columns("A:A").Find(What:="[Beam]", After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell.Offset(1, 0).Value
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell.Offset(2, 0).Value
Columns("A:A").Find(What:="WorkingDistance", After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell
Columns("A:A").Find(What:="UserMode", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell
Columns("A:A").Find(What:="Temperature", After:¬tiveCell,
LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell
Columns("A:A").Find(What:="Name", After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1,
0).Value = ActiveCell
Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:úlse
Next i
End With
Vu la longueur des lignes d'instruction tu seras trés certainement obligé
pour certaine d'entre elles de les réorganiser aprés le copier/coller dans
l'éditeur de Macro
J'ai choisi pour les premiers paramètres d'établir la recherche sur le mot
"[Beam]" les clés "HV" et "Spot" recherchées se retrouvent à de multiples
endroit dans la colonne donc impossible de se baser dessus
Ayant trouvé le mot "[Beam]" je récupère les clés dans les 2 cellules qui
suivent
Pour les autres clés la recherche est directement basé sur leur nom
Je te mets un lien où tu pourras récupérer mon document réalisé comme décrit
http://www.cijoint.fr/cij34907306034444.xls
Donne moi tes impressions !!!
Rebonjour FFO
C'est effectivement la difficultéà laquelle je suis confronté.. d'o mon
raisonnement..
Ouvre l'une des images à partir d'Excell, va vers la fin du document et tu
veras une ensemble d'information avec des valeurs qui y sont rattaché.. comme
par exemple:
[...]
Date/28/2007
Time:37:20 PM
User=supervisor
UserText=1_07168A1_001
UserTextUnicode1005F0030003700310036003800410031005F00300030003100
Bonsoir FFO je regarde cela dans quelques instants et te fait un retour dès que c'est fait .. Merci milles fois
Ji
Rebonjour à toi
Pas simple ton affaire !!!!
Je pense que ce code devrait faire l'affaire Toujours le lecteur C: pris en considération :
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 For i = 1 To .FoundFiles.Count ChDir "C:Cochlée nov 2007" ChDir "C:Cochlée nov 2007" Application.DisplayAlerts = False Workbooks.OpenText Filename:="C:Cochlée nov 2007" & Mid(.FoundFiles(i), Len(.LookIn) + 2), Origin _ :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, _ Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(1, 1), _ TrailingMinusNumbers:=True Columns("A:A").Find(What:="[Beam]", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell.Offset(1, 0).Value Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell.Offset(2, 0).Value Columns("A:A").Find(What:="WorkingDistance", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="UserMode", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="Temperature", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Columns("A:A").Find(What:="Name", After:¬tiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:úlse, SearchFormat:úlse).Activate Workbooks(ClasseurN).Sheets(1).Range("C65535").End(xlUp).Offset(1, 0).Value = ActiveCell Workbooks(Mid(.FoundFiles(i), Len(.LookIn) + 2)).Close SaveChanges:úlse Next i End With
Vu la longueur des lignes d'instruction tu seras trés certainement obligé pour certaine d'entre elles de les réorganiser aprés le copier/coller dans l'éditeur de Macro
J'ai choisi pour les premiers paramètres d'établir la recherche sur le mot "[Beam]" les clés "HV" et "Spot" recherchées se retrouvent à de multiples endroit dans la colonne donc impossible de se baser dessus Ayant trouvé le mot "[Beam]" je récupère les clés dans les 2 cellules qui suivent
Pour les autres clés la recherche est directement basé sur leur nom
Je te mets un lien où tu pourras récupérer mon document réalisé comme décrit
http://www.cijoint.fr/cij34907306034444.xls
Donne moi tes impressions !!!
Rebonjour FFO C'est effectivement la difficultéà laquelle je suis confronté.. d'o mon raisonnement.. Ouvre l'une des images à partir d'Excell, va vers la fin du document et tu veras une ensemble d'information avec des valeurs qui y sont rattaché.. comme par exemple: [...] Date/28/2007 Time:37:20 PM User=supervisor UserText=1_07168A1_001 UserTextUnicode1005F0030003700310036003800410031005F00300030003100
Je reste à ta disposition pour plus d'informations,
Milles merci,
Ji
ji
Bonjour FFO Pardonne moi pour ce délai dans ma réponse. Merci beaucoup. T'es un chef.. La macro est parfaite et fonctionnel.. je cherche dans un prmeier temps à comprendre comment elle est faite, et si je peut rajouter des 2 éléments de plusà chercher. Je te tiens au courrant si je modiifie quelques choses ou si je rencontre des difficultés.. Si je puis me permettre, pourrais tu me mettres sur la piste de comment integré ces donnes dans un base access. J'ai entendu parler de plusieurs méthodes plus ou moins facile à mettre en oeuvre. La plus facile étant celle de faire une simple requete via l'aide de requete de Excell. Qu'en penses tu FFO?
Milles merci
Ji
Bonjour FFO
Pardonne moi pour ce délai dans ma réponse. Merci beaucoup. T'es un chef..
La macro est parfaite et fonctionnel.. je cherche dans un prmeier temps à
comprendre comment elle est faite, et si je peut rajouter des 2 éléments de
plusà chercher.
Je te tiens au courrant si je modiifie quelques choses ou si je rencontre
des difficultés..
Si je puis me permettre, pourrais tu me mettres sur la piste de comment
integré ces donnes dans un base access. J'ai entendu parler de plusieurs
méthodes plus ou moins facile à mettre en oeuvre. La plus facile étant celle
de faire une simple requete via l'aide de requete de Excell. Qu'en penses tu
FFO?
Bonjour FFO Pardonne moi pour ce délai dans ma réponse. Merci beaucoup. T'es un chef.. La macro est parfaite et fonctionnel.. je cherche dans un prmeier temps à comprendre comment elle est faite, et si je peut rajouter des 2 éléments de plusà chercher. Je te tiens au courrant si je modiifie quelques choses ou si je rencontre des difficultés.. Si je puis me permettre, pourrais tu me mettres sur la piste de comment integré ces donnes dans un base access. J'ai entendu parler de plusieurs méthodes plus ou moins facile à mettre en oeuvre. La plus facile étant celle de faire une simple requete via l'aide de requete de Excell. Qu'en penses tu FFO?
Milles merci
Ji
FFO
Rebonjour à toi
Pour rapatrier ces données dans une table d'une base access Activer la référence "Microsoft Access 11.0 Object Library" dans Outils/Références Avec les données récupérées dans le classeur créé en colonne C à partir de la cellule C2 Je te propose ce code :
Dim ObjAcc As Access.Application Set ObjAcc = CreateObject("Access.Application") ObjAcc.OpenCurrentDatabase "E:CheminBase.mdb" ObjAcc.UserControl = True AppActivate "Microsoft Access" CurrentDb.Execute "delete from [Table]" Workbooks("Nom du classeur ayant les données").Activate Do While Sheets("Onglet ayant les données").Range("C2").Offset(i, 0) <> "" CurrentDb.Execute "Insert into [Table](Nom du Champ)Values('" & Sheets("Onglet ayant les données").Range("C2").Offset(i, 0).Value & "');" i = i + 1 Loop ObjAcc.CloseCurrentDatabase ObjAcc.UserControl = False ObjAcc.Application.Quit
A actualiser :
Chemin : le chemin de la base à alimenter Table : le nom de la table de la base à alimenter Nom du classeur ayant les données : le nom du classeur qui porte les données récupérées Onglet ayant les données : le nom de l'onglet qui porte les données récupérées Nom du Champ : le nom du champ de la table de la base dans lequel les données seront rapportées
Je pense que tu devrais être satisfait Dis moi !!!!
Bonjour FFO Pardonne moi pour ce délai dans ma réponse. Merci beaucoup. T'es un chef.. La macro est parfaite et fonctionnel.. je cherche dans un prmeier temps à comprendre comment elle est faite, et si je peut rajouter des 2 éléments de plusà chercher. Je te tiens au courrant si je modiifie quelques choses ou si je rencontre des difficultés.. Si je puis me permettre, pourrais tu me mettres sur la piste de comment integré ces donnes dans un base access. J'ai entendu parler de plusieurs méthodes plus ou moins facile à mettre en oeuvre. La plus facile étant celle de faire une simple requete via l'aide de requete de Excell. Qu'en penses tu FFO?
Milles merci
Ji
Rebonjour à toi
Pour rapatrier ces données dans une table d'une base access
Activer la référence "Microsoft Access 11.0 Object Library" dans
Outils/Références
Avec les données récupérées dans le classeur créé en colonne C à partir de
la cellule C2 Je te propose ce code :
Dim ObjAcc As Access.Application
Set ObjAcc = CreateObject("Access.Application")
ObjAcc.OpenCurrentDatabase "E:CheminBase.mdb"
ObjAcc.UserControl = True
AppActivate "Microsoft Access"
CurrentDb.Execute "delete from [Table]"
Workbooks("Nom du classeur ayant les données").Activate
Do While Sheets("Onglet ayant les données").Range("C2").Offset(i, 0) <> ""
CurrentDb.Execute "Insert into [Table](Nom du Champ)Values('" &
Sheets("Onglet ayant les données").Range("C2").Offset(i, 0).Value & "');"
i = i + 1
Loop
ObjAcc.CloseCurrentDatabase
ObjAcc.UserControl = False
ObjAcc.Application.Quit
A actualiser :
Chemin : le chemin de la base à alimenter
Table : le nom de la table de la base à alimenter
Nom du classeur ayant les données : le nom du classeur qui porte les données
récupérées
Onglet ayant les données : le nom de l'onglet qui porte les données récupérées
Nom du Champ : le nom du champ de la table de la base dans lequel les
données seront rapportées
Je pense que tu devrais être satisfait
Dis moi !!!!
Bonjour FFO
Pardonne moi pour ce délai dans ma réponse. Merci beaucoup. T'es un chef..
La macro est parfaite et fonctionnel.. je cherche dans un prmeier temps à
comprendre comment elle est faite, et si je peut rajouter des 2 éléments de
plusà chercher.
Je te tiens au courrant si je modiifie quelques choses ou si je rencontre
des difficultés..
Si je puis me permettre, pourrais tu me mettres sur la piste de comment
integré ces donnes dans un base access. J'ai entendu parler de plusieurs
méthodes plus ou moins facile à mettre en oeuvre. La plus facile étant celle
de faire une simple requete via l'aide de requete de Excell. Qu'en penses tu
FFO?
Pour rapatrier ces données dans une table d'une base access Activer la référence "Microsoft Access 11.0 Object Library" dans Outils/Références Avec les données récupérées dans le classeur créé en colonne C à partir de la cellule C2 Je te propose ce code :
Dim ObjAcc As Access.Application Set ObjAcc = CreateObject("Access.Application") ObjAcc.OpenCurrentDatabase "E:CheminBase.mdb" ObjAcc.UserControl = True AppActivate "Microsoft Access" CurrentDb.Execute "delete from [Table]" Workbooks("Nom du classeur ayant les données").Activate Do While Sheets("Onglet ayant les données").Range("C2").Offset(i, 0) <> "" CurrentDb.Execute "Insert into [Table](Nom du Champ)Values('" & Sheets("Onglet ayant les données").Range("C2").Offset(i, 0).Value & "');" i = i + 1 Loop ObjAcc.CloseCurrentDatabase ObjAcc.UserControl = False ObjAcc.Application.Quit
A actualiser :
Chemin : le chemin de la base à alimenter Table : le nom de la table de la base à alimenter Nom du classeur ayant les données : le nom du classeur qui porte les données récupérées Onglet ayant les données : le nom de l'onglet qui porte les données récupérées Nom du Champ : le nom du champ de la table de la base dans lequel les données seront rapportées
Je pense que tu devrais être satisfait Dis moi !!!!
Bonjour FFO Pardonne moi pour ce délai dans ma réponse. Merci beaucoup. T'es un chef.. La macro est parfaite et fonctionnel.. je cherche dans un prmeier temps à comprendre comment elle est faite, et si je peut rajouter des 2 éléments de plusà chercher. Je te tiens au courrant si je modiifie quelques choses ou si je rencontre des difficultés.. Si je puis me permettre, pourrais tu me mettres sur la piste de comment integré ces donnes dans un base access. J'ai entendu parler de plusieurs méthodes plus ou moins facile à mettre en oeuvre. La plus facile étant celle de faire une simple requete via l'aide de requete de Excell. Qu'en penses tu FFO?
Milles merci
Ji
ji
Bonjour FFO, je viens de prendre connaissance de ton mel.. Merci à toi de me répondre si rapidement et surtout pour la qualité de tes explications..
Je n'arrive pas bien à faire fonctionner la fonction, peut être que je fais quelques choses de mal.. J'ai le message d'erreur suivant: "Erreur de compilation : Type défini par l'utilisateur non défini". Est c equ'il ne faut pas aller voir du côté Type et End Type
Je join l'adresse de l'ensemble du dossier zippé dans lequel tu trouveras: - deux images tif (les mêmes qu'avant) - la macro - la base access ATTENTION: il faut changer le lecteur C
http://www.cijoint.fr/cij43716333034655.zip
Je m'intérrogeais sur la faisabilité de
- de mettre C2 edans un champs - de mettre C3 et C4 dans un autre champs et..
Milles mercis
Ji
Bonjour FFO,
je viens de prendre connaissance de ton mel.. Merci à toi de me répondre si
rapidement et surtout pour la qualité de tes explications..
Je n'arrive pas bien à faire fonctionner la fonction, peut être que je fais
quelques choses de mal.. J'ai le message d'erreur suivant:
"Erreur de compilation : Type défini par l'utilisateur non défini". Est c
equ'il ne faut pas aller voir du côté Type et End Type
Je join l'adresse de l'ensemble du dossier zippé dans lequel tu trouveras:
- deux images tif (les mêmes qu'avant)
- la macro
- la base access
ATTENTION: il faut changer le lecteur C
http://www.cijoint.fr/cij43716333034655.zip
Je m'intérrogeais sur la faisabilité de
- de mettre C2 edans un champs
- de mettre C3 et C4 dans un autre champs
et..
Bonjour FFO, je viens de prendre connaissance de ton mel.. Merci à toi de me répondre si rapidement et surtout pour la qualité de tes explications..
Je n'arrive pas bien à faire fonctionner la fonction, peut être que je fais quelques choses de mal.. J'ai le message d'erreur suivant: "Erreur de compilation : Type défini par l'utilisateur non défini". Est c equ'il ne faut pas aller voir du côté Type et End Type
Je join l'adresse de l'ensemble du dossier zippé dans lequel tu trouveras: - deux images tif (les mêmes qu'avant) - la macro - la base access ATTENTION: il faut changer le lecteur C
http://www.cijoint.fr/cij43716333034655.zip
Je m'intérrogeais sur la faisabilité de
- de mettre C2 edans un champs - de mettre C3 et C4 dans un autre champs et..