Recherche de données excel sur 2 tableaux à la fois

Recherche de données excel sur 2 tableaux à la fois - VB/VBA/VBS - Programmation

Marsh Posté le 17-11-2015 à 00:59:19    

Bonjour à tous, je viens de rééditer ce post pour essayer d'être plus clair.
 
Voilà mon problème :
Créer un tableau dans lequel sont écrits automatiquement les résultats par ligne d'une expression recherchée dans tous les tableaux excel (en évitant biensur qu'il recherche le terme dans le tableau des résultats.)
 
Il faudrait en gros balayer toutes les pages de ligne en ligne et copier coller sur la nouvelle page les lignes ou l'expression se trouve, incluant le fait qu'elle puisse se trouver en commentaire. (Comme une recherche de fichier sous windows).
Une fois la recherche terminée, les résultats doivent s'effacer pour laisser place à une nouvelle recherche.
 
Le mot recherché est écrit dans ce nouveau tableau comme une rechercheV et la recherche doit etre lancée dans tous les tableaux incluant toutes colonnes et lignes.
 
Actuellement je suis obligé de faire du ctrl+F et faire défiler les résultats ou d'utiliser la fonction tri et custom pour trouver les termes ans les commentaires et faire défiler les résultats un par un.
Quand on a plusieurs gros tableau c'est fastidieux de rechercher manuellement.
 
Mes tableaux comportent environ 4000 lignes chacun.
 
Je donne un exemple:
Tableau 1:
Animal / surface / couleur / arbre
Papillon / sable / Bleu / Cerisier
Escargot / ciel / rose / Pommier
chien / terre / noir / arbuste
etc.......
 
Tableau 2:
vehicule / teinte / kilometrage / carburant
4x4 /vert / 23km / essence
Voiture / marine* / 200km / diesel commentaire : *cette voiture est bleu marine
Bus / rouge / 2945km / essence
etc....
 
 
(chaque terme est dans une cellule)
 
Tableau 3. Nouvelle page excel .
 
Recherche : bleu
Ecriture des résultats :
 
Animal surface couleur arbre <-- intitulés en L1
Papillon / sable / Bleu / Cerisier
 
vehicule / kilometrage / teinte / carburant <-- intitulés en L1
Voiture / 200km / marine* / diesel commentaire : *cette voiture est bleu marine
 
 
Sur chaque page les intitulés se trouvent en 1ere ligne.
Si je veux rechercher chien dans ce cas il y aurait en résultat:
Animal surface couleur arbre
chien / terre / noir / arbuste
 
vehicule / kilometrage / teinte / carburant
 
 
J'aimerais que les intitulés restent affichés au-dessus des réponses, même s'il n'y a pas de résultat trouvé.
Comme ici vehicule / kilometrage / teinte / carburant .
 
C'est une sorte de rechercheV mais qui doit recopier les lignes du texte trouvé.
C'est comme faire une recherche windows avec la liste qui s'affiche y compris la ligne du texte recherché en tant que commentaires....
 
Je ne sais pas du tout utiliser VBA mais je comprends à peu le principe.
 
Sur VBA, si c'est possible, il faudrait faire reproduire une recherche avec écriture des résultats avec intitulés.
Il faudrait qu'on me traduise ça en language VBA si c'est faisable :
 
1) Tableau RechercheV --> copy Tableau1 L1 --> paste to TableauRechercheV L3
2) Tableau 1 --> fonction find --> findwhat :termearechercher"tableauRechercheV!L1B1" --> by rows --> look in values & look in comments --> startsearch ligne 1 to 4000
3) Tableau 1 --> If termeArechercher = valuetrouvée alors copy Lignedutermematché paste to --> TableauRechercheV L3 +1
Else Goto Etape 5
4) Tableau 1 --> Then select next value --> If termeArechercher = valuetrouvée alors copy Lignedutermematché paste to --> TableauRechercheV Ln +1
Pas de boucle de recherche : si valuematch --> Lignedutermematché déja copiée dans TableauRechercheV Then goto etape 5
Repeat etape 4
Else Goto Etape 5
5) Tableau n+1 --> copy Tableau n+1 L1 --> paste to TableauRechercheV Ln+2
Else End (si pas de tableau suivant)
6) Tableau n+1 --> fonction find --> findwhat :termearechercher"tableauRechercheV!L1B1" --> by rows --> look in values & look in comments --> startsearch ligne 1 to 4000
7) Tableau n+1 --> If termeArechercher = valuetrouvée alors copy Lignedutermematché paste to --> TableauRechercheV L3 +1
Else Goto Etape 5
8) Tableau n+1 --> Then select next value --> If termeArechercher = valuetrouvée alors copy Lignedutermematché paste to --> TableauRechercheV Ln +1
Pas de boucle de recherche : si valuematch --> Lignedutermematché déja copiée dans TableauRechercheV Then goto etape 5
Repeat etape 8
Else Goto Etape 5
 
 
Si ça marche pas il me faudrait une solution, peut être un logiciel de recherche excel avec écriture des résultats.
 
Merci pour votre aide.


Message édité par garys002 le 17-11-2015 à 13:33:37
Reply

Marsh Posté le 17-11-2015 à 00:59:19   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed