woow74
Messages postés39Date d'inscriptionvendredi 18 février 2011StatutMembreDernière intervention 1 mars 2011
-
23 févr. 2011 à 10:04
woow74
Messages postés39Date d'inscriptionvendredi 18 février 2011StatutMembreDernière intervention 1 mars 2011
-
23 févr. 2011 à 17:20
Bonjour, j'ai fais un bout de code qui me permet de rechercher des codes contenus dans une colonne excel ( NIR1) dans un autre fichier txt(RAF1) et me retourner les données relatives a ces codes et me retourne le résultat sur une feuille excel .
Voila le bout de code que j'ai réussi à avoir :
Sub macro()
For j = 2 To 1205
Do
Workbooks("NIR1.xls").Sheets("Resultat").Cells(i, 1) = Workbooks("RAF1.txt").Sheets("RAF1").Cells(ligne, 1)
i = i + 1
ligne = ligne + 1
Loop Until (Left(Workbooks("RAF1.txt").Sheets("RAF1").Cells(ligne, 1), 14)) = "S30.G01.00.001"
Next
End Sub
Ce que je ne comprend pas , et j'ai l'impression que le out de code est bon , c'est que quand je lance la macro sur la colonne excel où ya les codes à rechercher sa me met un message d'erreur du genre : l'indice n'appartient pas à la selection.
Je n'arrive pas à trouver la source du problème pouvez vous m'aider SVP??
woow74
Messages postés39Date d'inscriptionvendredi 18 février 2011StatutMembreDernière intervention 1 mars 2011 23 févr. 2011 à 13:53
Merci 4u4me4us c'est exactement sa
Maintenant une dernière question si tu veux bien m'aider
Ma recherche de données se fait dans RAF1.txt qui est un simple fichier. Et si je voulais ouvrir un repertoire qui contient plusieurs fichiers comme RAF1.txt ? t'aurais une piste pour faire la recherche sur plusieurs fichiers et pas sur un seul?
Merci beaucoup pr ta disponibilité
woow74
Messages postés39Date d'inscriptionvendredi 18 février 2011StatutMembreDernière intervention 1 mars 2011 23 févr. 2011 à 14:02
et au passage voila le code final que j'ai réussi à faire marcher ( encore c'est juste pr la recherche dans un seul fichier j'attend votre aide pour pouvoir rechercher dans plusieurs fichiers )
Columns("A:A").Select
Selection.NumberFormat = "0"
Sheets.Add
ActiveSheet.Name = "Resultat"
i = 1
For j = 2 To 1205
valeur = Workbooks("NIR1.xls").Sheets("NIR1").Cells(j,1)
Workbooks("RAF1.txt").Activate
Set celluletrouvee = Range("A:A").Find(valeur)
ligne = celluletrouvee.Row
Do
Workbooks("NIR1.xls").Sheets("Resultat").Cells(i, 1) = Workbooks("RAF1.txt").Sheets("RAF1").Cells(ligne, 1)
i = i + 1
ligne = ligne + 1
Loop Until (Left(Workbooks("RAF1.txt").Sheets("RAF1").Cells(ligne, 1), 14)) = "S30.G01.00.001"
Next
End
End Sub
4u4me4us
Messages postés780Date d'inscriptionlundi 22 janvier 2007StatutMembreDernière intervention30 octobre 20133 23 févr. 2011 à 14:15
Si je t bien compris tu voudrais faire la recherche d'une valeur dans plusieurs fichiers?
Exemple savoir quelle fichier RafX.txt à la valeur "Titi".
Si oui je te propose le code suivant :
dim v_i as byte
dim v_fichier as string
dim v_info as string
dim canal as byte
dim v_taille as long
canal = freefile
v_i = 1
v_fichier = dir("chemain de ton répretoir\Raf" & v_i & ".txt")
while v_fichier<>"" and instr(1,v_info,"Tit")<=0
open "chemain de ton répretoir" & v_fichier for binary as #canla
v_taille = lof(#canal)
get v_info,,#canal
close #canal
v_i=v_i+1
v_fichier v_fichier dir("chemain de ton répretoir\Raf" & v_i & ".txt")
wend
Voila J'ai taper cela de tête donc tu devra faire des corrections mais dans a froid je ferrai comme ça.
Note v_taille = lof(#canal) get v_info,,#canal pour lire le ficher d'un coup
Si c pas ça que tu me demandé SORRRRRRRRRYYYYYYY et précicse moi stp.
Vous n’avez pas trouvé la réponse que vous recherchez ?
woow74
Messages postés39Date d'inscriptionvendredi 18 février 2011StatutMembreDernière intervention 1 mars 2011 23 févr. 2011 à 14:44
OOh c'est vraiment cool de ta part sa fait plais quand il y a des gens comme toi pour aider les nuls comme moi .
J'ai vu ton code mais il me fait peur , je t'explique : la recherche, je la fais dans le fichier RAF1.txt ( le mecanisme de recherche c que je prend une valeur d'un tableau et je vais rechercher cette mm valeur dans le fichier txt pour ensuite réccuperer des données relatives à cette valeur ..)
Mnt j'ai un répertoire RAF qui contient des fichiers RAF*.txt ( l'extension du nom sa sra genre RAF1;RAF2;RAF3...);dc ton code , je le met où dans mon code à moi? et il n'affectera pas ma recherche je veux dire ma macro?
Merci beaucoup té top
4u4me4us
Messages postés780Date d'inscriptionlundi 22 janvier 2007StatutMembreDernière intervention30 octobre 20133 23 févr. 2011 à 15:03
Parfois je suis à coté de la plaque donc je v te faire un dessin de ce que je pense que tu as et veux faire et tu me dirras si suis juste. Sorry ça fais petit garçon mais comme je te dis cela m'arrive d'être à coté de la place .
Tu as un tableau qui a une valeur et tu voudrais savoir dans qu'elle fichier elle est écrite ?
Je ne parle pas de ce qui a avant car c trouble pour moi. Mais si déjà tu peux me dire si a un moment ou un notre tu voudras faire cela, je verrais plus claire. Bien sur on pourra parler tu tableau plus tard mais répond moi déjà sur la vision que j'ai.
De plus un simple merci suffi vu que moi aussi je m'aide de ce site donc
woow74
Messages postés39Date d'inscriptionvendredi 18 février 2011StatutMembreDernière intervention 1 mars 2011 23 févr. 2011 à 15:10
d'accord.
Oui pr ton dessin d'arborescence c exactement sa.
mnt ce que je veux c'est effectivement voir si la valeur que je cherche se trouve dans l'un des fichiers de ce répertoire et en extraire les données relative à cette dernière ce que mon bout de code fait très bien.
Ma question était plus où je mettrai le bout de code que tu m'as fourni par rapport à mon code et comment jdevrai modifier cette partie du code
Workbooks("RAF1.txt").Activate
Set celluletrouvee = Range("A:A").Find(valeur)
ligne = celluletrouvee.Row
Do
Workbooks("NIR1.xls").Sheets("Resultat").Cells(i, 1) = Workbooks("RAF1.txt").Sheets("RAF1").Cells(ligne, 1)
i = i + 1
ligne = ligne + 1
Loop Until (Left(Workbooks("RAF1.txt").Sheets("RAF1").Cells(ligne, 1), 14)) = "S30.G01.00.001"
Next
End
End Sub
pour qu'il sache que je cherche dans un repertoire et pas juste dans le fichier RAF1.txt
j'espère que je suis plus clair mnt
Merci
woow74
Messages postés39Date d'inscriptionvendredi 18 février 2011StatutMembreDernière intervention 1 mars 2011 23 févr. 2011 à 17:02
Je n'y arrive pas
euuh si possible je peux t'envoyer le Rep et le fichier Excel d'où je prend les valeurs à rechercher et voir si t'arrive à caser le code que tu m'as fourni avec mon bout de code?
Si oui je t'explique par la suite la procédure à suivre pour la recherche ( c'est juste que je dois rendre ce travail très bientot et la j'ai fais la plus grande partie mais je bloque sur la recherche dans un repertoire de fichiers).
Merci