Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/01/2012, 10h56   #1
Invité régulier
 
Inscription : février 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 36
Points : 5
Points : 5
Par défaut Recherche dans plusieurs excel

Bonjour,
Je suis confronté à un réel problème dont je ne voit aucune solution:
J'ai une centaine de fichier excel dans un dossier.
Je voudrais faire une recherche par un mot clé dans tous ces fichiers , un peu comme la recherche de windows.
Le gros problème c'est que je dois faire cette recherche une vingtaine de fois et si je passe par la recherche windows je perdrais 3h au moins.
Dans l'idéal je voudrais que pour chaque mot clé rechercher dans le dossier, on m'affiche le nom du fichier le plus récent dans lequel il a été trouvé.

Je pensais à une macro, à access ... mais mes idée ont échoué.

Je cherche une manière automatisé car je risque de devoir répété l'action.

Pouvez m'aider ou me donner une piste ?

PS: j'ai posté ce sujet dans ce forum car je ne savais pas trop où le mettre. comme ça a un rapport avec excel et que je pense qu'il faut une macro j'ai posté mon sujet ici
bil_home est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 15h14   #2
Membre Expert
 
Avatar de Daranc
 
Inscription : janvier 2007
Messages : 1 166
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 1 166
Points : 1 244
Points : 1 244
peut etre créer une liste de tes fichiers
ser servir des méta données pour avoir les propriétés (a voir) dans un tableau a 2 dimensionen fonction de tes critères de recherche
une fois collés sur une feuille excel tu peut te servir des fonction de tri d'excel
je pense à un truc de ce type
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub AfficherListeDossiers()
specdossier = ActiveWorkbook.Path
    Dim fs, f, f1, fc, s(), i
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(specdossier)
    Set fc = f.Files
    For Each f1 In fc
       ReDim Preserve s(i)
 
   s(i) = f1.Name
         i = i + 1
    Next
    With Sheets(1)
    .Range("A1:a" & UBound(s, 1)).Value = Application.WorksheetFunction.Transpose(s)
    End With
End Sub
__________________
Cordialement
Daranc
Daranc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 23h19   #3
Invité régulier
 
Inscription : février 2007
Messages : 36
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 36
Points : 5
Points : 5
j'ai trouver une macro sur le net qui permet de combiner tous les excel d'un dossier dans le meme fichier. Cela m'as donnée une idée pour résoudre mon problème.
J'essaye juste d'incrémenter des formule sur la source lorsque je deroule, un peu comme ce que l'on fait pour les cellules.
ex :
on met ='sheet1'A1 et si on décale sur le coté on obtient = 'sheet1'!B1.

Dans le meme principe je voudrais ='sheet1'!$A1 devienne ='sheet2'!$A1.

Comment faire ?

Merci au tout cas Daranc pour ta réponse
bil_home est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 14h31   #4
Membre Expert
 
Avatar de Daranc
 
Inscription : janvier 2007
Messages : 1 166
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 1 166
Points : 1 244
Points : 1 244
désolé du retard
pas compris l'histoire des formules
mais pour ton sheet1 en sheet2
Code :
1
2
3
4
5
for t = 1 to x
with sheets(t)
.range("a1").value= la valeur
end with
 next
__________________
Cordialement
Daranc
Daranc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h23.


 
 
 
 
Partenaires

Hébergement Web