Macro qui recherche en fonction du texte et non emplacement
she
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
une personne très sympa m'avait déjà aidé sur ce fichier, elle m'avait montré comment retrouver une donnée à partir d'un titre et non de son emplacement.
j'aimerai aujourd'hui savoir sur le même fichier si il
est possible de copier les données aussi en fonction des noms des fruits ?
Si par exemple le nom de mes fruits dans mon tableau-final ne sont pas dans le même ordre que dans mon fichier source.
comment faire?
merci de vos réponse
voici un lien vers mon fichier, pour une meilleure compréhension de ma question
http://www.cjoint.com/?3GznRB4RZea
une personne très sympa m'avait déjà aidé sur ce fichier, elle m'avait montré comment retrouver une donnée à partir d'un titre et non de son emplacement.
j'aimerai aujourd'hui savoir sur le même fichier si il
est possible de copier les données aussi en fonction des noms des fruits ?
Si par exemple le nom de mes fruits dans mon tableau-final ne sont pas dans le même ordre que dans mon fichier source.
comment faire?
merci de vos réponse
voici un lien vers mon fichier, pour une meilleure compréhension de ma question
http://www.cjoint.com/?3GznRB4RZea
A voir également:
- Macro qui recherche en fonction du texte et non emplacement
- Fonction si et - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Transcription audio en texte word gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Excel cellule couleur si condition texte - Guide
3 réponses
Re,
fichier modifie: https://www.cjoint.com/?DGEoYQzSKRH
A+
fichier modifie: https://www.cjoint.com/?DGEoYQzSKRH
A+
Bonjour,
merci pour votre réponse.
Serait-il possible pour vous encore de m'aider avec cette question svp?
https://forums.commentcamarche.net/forum/affich-30578707-equivalent-a-filesearch-pour-excel-2010
merci
cordialement,
merci pour votre réponse.
Serait-il possible pour vous encore de m'aider avec cette question svp?
https://forums.commentcamarche.net/forum/affich-30578707-equivalent-a-filesearch-pour-excel-2010
merci
cordialement,
Bonjour,
j'aurai encore besoin d'aide sur le fichier concernant "tableau de bord"
j'aimerai que mes données se copie non en reprenant les noms qui sont dans les colonnes de mon tableau final, mais les noms (qui sont tous differents) données dans mon tableau de bord.
Pour pouvoir les copier dans les colonnes correspondant à mon tableau final mais qui cette fois aurait un nom different (du fichier tableau de bord)
par exemple j'aimerai copier les chiffres des deux dernières lignes correspondant au fruit pomme du tableau de bord dans une des colonnes de mon tableau final, mais qui à la place de s'appeler pomme s'appelerait légume
ect..
merci encore pour votre aide
cordialement,
j'aurai encore besoin d'aide sur le fichier concernant "tableau de bord"
j'aimerai que mes données se copie non en reprenant les noms qui sont dans les colonnes de mon tableau final, mais les noms (qui sont tous differents) données dans mon tableau de bord.
Pour pouvoir les copier dans les colonnes correspondant à mon tableau final mais qui cette fois aurait un nom different (du fichier tableau de bord)
par exemple j'aimerai copier les chiffres des deux dernières lignes correspondant au fruit pomme du tableau de bord dans une des colonnes de mon tableau final, mais qui à la place de s'appeler pomme s'appelerait légume
ect..
merci encore pour votre aide
cordialement,
Re,
mais qui à la place de s'appeler pomme s'appelerait légume Oui si vous avez une table ds correspondance.
Et pour le Lien (#12), que voulez-vous faire ???
voici deux exemples de recherche de fichier https://www.cjoint.com/?DHbtoxMz9Q8
mais qui à la place de s'appeler pomme s'appelerait légume Oui si vous avez une table ds correspondance.
Et pour le Lien (#12), que voulez-vous faire ???
voici deux exemples de recherche de fichier https://www.cjoint.com/?DHbtoxMz9Q8
Bonjour,
merci, j'ai regardé vos fichiers mais je ne pense pas que ça correspond exactement à ce que je veux. J'ai modifié lègerement votre code, en gros j'aimerai quelquechose comme ça, existe t il un moyen de transformer ce code de façon plus court. Sans que j'ai à le répeter chaque fois pour chaque fruit que je cherche
j'ai cherché les chiffres correspondant à environnement et essai pour un fruit précis et les aient copié dans une case précise du tableau final que j'ai choisi.
ect..
P.S : je n'ai pas bien compris dans votre code à quoi correspondait n = n+1
Merci d'avance pour votre aide.
cordialement,
merci, j'ai regardé vos fichiers mais je ne pense pas que ça correspond exactement à ce que je veux. J'ai modifié lègerement votre code, en gros j'aimerai quelquechose comme ça, existe t il un moyen de transformer ce code de façon plus court. Sans que j'ai à le répeter chaque fois pour chaque fruit que je cherche
j'ai cherché les chiffres correspondant à environnement et essai pour un fruit précis et les aient copié dans une case précise du tableau final que j'ai choisi.
Rech1 = "ENVIRONNEMENT" Rech2 = "ESSAI" Rech3 = "BANANE" Rech4 = "ANANAS" With Worksheets("A") Derlig = .Range("C" & Rows.Count).End(xlUp).Row Set TColB = .Range("B3:B" & Derlig) ' Worksheets("feuil1").Range("B4") = .Range("C" & Derlig) For Point = 1 To 21 Nb = Application.CountIf(TColB, Rech3) If Nb > 0 Then n = n + 1 lig = 3 lig = .Columns("B").Find(Rech3, .Cells(lig, "B"), , xlWhole).Row lig = .Columns("A").Find(Rech1, .Cells(lig, "A"), , xlWhole).Row ' Worksheets("feuil1").Cells(2, 1) = Rech1 Worksheets("feuil1").Cells(2, 2) = .Cells(lig, 3) lig = .Columns("A").Find(Rech2, .Cells(lig, "A"), , xlWhole).Row 'Worksheets("feuil1").Cells(3, 1) = Rech2 Worksheets("feuil1").Cells(3, 2) = .Cells(lig, 3) End If Next Point For Point = 1 To 21 Nb = Application.CountIf(TColB, Rech4) If Nb > 0 Then n = n + 1 lig = 3 lig = .Columns("B").Find(Rech4, .Cells(lig, "B"), , xlWhole).Row lig = .Columns("A").Find(Rech1, .Cells(lig, "A"), , xlWhole).Row ' Worksheets("feuil1").Cells(2, 1) = Rech1 Worksheets("feuil1").Cells(2, 3) = .Cells(lig, 3) lig = .Columns("A").Find(Rech2, .Cells(lig, "A"), , xlWhole).Row 'Worksheets("feuil1").Cells(3, 1) = Rech2 Worksheets("feuil1").Cells(3, 3) = .Cells(lig, 3) End If Next Point
ect..
P.S : je n'ai pas bien compris dans votre code à quoi correspondait n = n+1
Merci d'avance pour votre aide.
cordialement,
Bonjour,
merci, j'ai regardé vos fichiers mais je ne pense pas que ça correspond exactement à ce que je veux. Ben oui, mais si vous ecriviez ce que vous voulez cela serait plus facile que de deviner!!!!! Vous voulez faire une recherche pour un fruit ou ...... ?????
n=n+1: pour voir si tous les fruits sont pris en compte, a supprimer
merci, j'ai regardé vos fichiers mais je ne pense pas que ça correspond exactement à ce que je veux. Ben oui, mais si vous ecriviez ce que vous voulez cela serait plus facile que de deviner!!!!! Vous voulez faire une recherche pour un fruit ou ...... ?????
n=n+1: pour voir si tous les fruits sont pris en compte, a supprimer
Bonjour,
Désolé pour mes explications un peu confuse mais j'ai pu résoudre le pb des fruits par moi-même, finalement.
Dsl de vous embêter encore une fois mais j'aurai encore une dernière question à vous poser concernant concernant le lien #12.
J'ai une macro qui ne marche plus sur Excel 2010 car elle utilise application.fileSearch.
J'ai vu sur internet qu'il y avait un équivalent avec FileSystemObject mais je ne sais pas comment l'appliquer à mon code. Pouvez-vous m'aidez svp ?
Cette macro copie des fichiers issus de plusieurs dossiers d'un répertoire appelé contrôle ses fichiers s'appelle fichierNom_bis.xls ,
Pour les insérer dans d'autre fichier de plusieurs dossiers d'un répertoire appeler "Fiche" en les renommant fichierNom.xls (c'est à dire du même nom que les dossiers copier mais sans le bis)
Le code ci-dessous fait partie du bouton « test » qui cherche les bon fichiers et les met dans la colonne de droite et inscrit les fichiers qui ont une erreur (dans le nom est mal écrit) dans la colonne de gauche sans les copier (une fois le test fait on peut les copier via un autre bouton).
Mes questions :
Comment remplacer l'objet application.filesearch pour qu'il marche sous Excel 2010 ?
Le complément Filesearch que j'ai essayé ne marche-t-il que Excel 2007 et non 2010 ou parce-que j'ai mal adapté mon code ?
De plus,
j'ai essayé d'utiliser un complément FileSearch issus du lien http://silkyroad.developpez.com/vba/classefilesearch/ , mais peut être que je m'y prends mal ,parce qu'il m'affiche "erreur de compilation type d'argument byRef imcompatible" et me surligne "iligne".
voici le code que j'ai adapté
Merci beaucoup pour votre aide,
cordialement
Désolé pour mes explications un peu confuse mais j'ai pu résoudre le pb des fruits par moi-même, finalement.
Dsl de vous embêter encore une fois mais j'aurai encore une dernière question à vous poser concernant concernant le lien #12.
J'ai une macro qui ne marche plus sur Excel 2010 car elle utilise application.fileSearch.
J'ai vu sur internet qu'il y avait un équivalent avec FileSystemObject mais je ne sais pas comment l'appliquer à mon code. Pouvez-vous m'aidez svp ?
Cette macro copie des fichiers issus de plusieurs dossiers d'un répertoire appelé contrôle ses fichiers s'appelle fichierNom_bis.xls ,
Pour les insérer dans d'autre fichier de plusieurs dossiers d'un répertoire appeler "Fiche" en les renommant fichierNom.xls (c'est à dire du même nom que les dossiers copier mais sans le bis)
Le code ci-dessous fait partie du bouton « test » qui cherche les bon fichiers et les met dans la colonne de droite et inscrit les fichiers qui ont une erreur (dans le nom est mal écrit) dans la colonne de gauche sans les copier (une fois le test fait on peut les copier via un autre bouton).
Mes questions :
Comment remplacer l'objet application.filesearch pour qu'il marche sous Excel 2010 ?
Le complément Filesearch que j'ai essayé ne marche-t-il que Excel 2007 et non 2010 ou parce-que j'ai mal adapté mon code ?
With Application.FileSearch .NewSearch .LookIn = sDirSource .SearchSubFolders = True .FileName = "xls" .MatchTextExactly = True .Execute msoSortByFileName For iligne = 1 To .FoundFiles.Count sFileNameSource = .FoundFiles(iligne) sFileNameCible = Replace(sFileNameSource, sSearchCar1, sSearchCar2) sFileNameCible = Left(sFileNameCible, Len(sFileNameCible) - 4) & "_bis.xls" 'feuille1.Cells(iligne + 6, 1) = sFileNameSource 'feuille1.Cells(iligne + 6, 2) = sFileNameCible If Dir(sFileNameCible) = "" Then 'Cas où il n'y pas de fiche resultat pour une fiche feuille1.Cells(iligne + 6, 2) = Mid(sFileNameCible, InStrRev(sFileNameCible, sSearchCar2) + Len(sSearchCar2) + 1) Else 'feuille1.Cells(iligne + 6, 1) = sFileNameSource feuille1.Cells(iligne + 6, 1) = Mid(sFileNameSource, InStrRev(sFileNameSource, sSearchCar1) + Len(sSearchCar1) + 1) 'Application.StatusBar = " FIchier " & iligne & " " & sFileNameCible End If ' fin du test sur l'existence du fichier Next iligne ' Fichier suivant End With
De plus,
j'ai essayé d'utiliser un complément FileSearch issus du lien http://silkyroad.developpez.com/vba/classefilesearch/ , mais peut être que je m'y prends mal ,parce qu'il m'affiche "erreur de compilation type d'argument byRef imcompatible" et me surligne "iligne".
voici le code que j'ai adapté
Dim Recherche As ClFileSearch.ClasseFileSearch Dim Recherche As ClFileSearch.ClasseFileSearch Set Recherche = ClFileSearch.Nouvelle_Recherche With Recherche 'Définit le répertoire de recherche .FolderPath = "sDirSource" 'Définit la recherche dans les sous dossiers ( / False) .SubFolders = True 'Option de tri: '(Sort_None, sort_Name, sort_Path, sort_Size, sort_DateCreated, sort_LastModified, sort_Type) 'Pas de tri si le paramètre n'est pas spécifié. .SortBy = sort_Name 'Option pour rechercher un type de fichier '(Renvoie tous les fichiers si non spécifié) .Extension = "*.xls" 'Execute la recherche .Execute For iligne = 1 To .FoundFilesCount sFileNameSource = .Files(iligne) sFileNameCible = Replace(sFileNameSource, sSearchCar1, sSearchCar2) sFileNameCible = Left(sFileNameCible, Len(sFileNameCible) - 4) & "_bis.xls" 'feuille1.Cells(iligne + 6, 1) = sFileNameSource 'feuille1.Cells(iligne + 6, 2) = sFileNameCible If Dir(sFileNameCible) = "" Then 'Cas où il n'y pas de fiche resultat pour une fiche feuille1.Cells(iligne + 6, 2) = Mid(sFileNameCible, InStrRev(sFileNameCible, sSearchCar2) + Len(sSearchCar2) + 1) Else 'feuille1.Cells(iligne + 6, 1) = sFileNameSource feuille1.Cells(iligne + 6, 1) = Mid(sFileNameSource, InStrRev(sFileNameSource, sSearchCar1) + Len(sSearchCar1) + 1) 'Application.StatusBar = " FIchier " & iligne & " " & sFileNameCible End If ' fin du test sur l'existence du fichier Next iligne ' Fichier suivant End With
Merci beaucoup pour votre aide,
cordialement
je suis vraiment désolé, je me suis trompé de fichier, je voulais parler de ce fichier là :
http://www.cjoint.com/?3GDhtJjc4nx
c'est un fichier pour lequel, je pense que c'était vous qui m'aviez déjà aidé.
si vous pouvez me re aider sur ce fichier là se serait cool, sinon je comprendrais.
merci beaucoup
cordialement,
Pas grave. Est-ce que je vous ai un peu aide sur ce fichier meme si ce n'etait pas le bon ???
Je recupere celui qui vous interesse et vous tiens au courant
A+
Y a comme un bleme, vous mettez a dispo le fichier que je vous ai modife tout au debut; Fichier auquel vous avez demande ensuite d'enlever la boite a dialogue recherche de fichier; Que vouez-vous a juste, parce que le dernier fichier que j'ai modifie ressemble etrangement au deuxieme avec traitement colonnes en desordre.
En fait j'aimerai savoir comment faire la meme chose que ce que vous m'aviez fait dans le mauvais fichier que j'avais posté. c'est à dire traitement colonne en désordre mais sur le fichier sur lequel vous m'aviez aidé tout au début.
J'ai essayé plusieurs fois de le faire tout seul mais je n'ai jamais réussi,
sachant que le nombre de ligne entre les fruits ne sont jamais fixe dans le fichier "tableau de bord".
merci