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 16/01/2012, 18h00   #1
Candidat au titre de Membre du Club
 
Homme
Inscription : décembre 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : décembre 2011
Messages : 45
Points : 11
Points : 11
Par défaut Recherche d'un fichier

Bonjour à toutes et tous

Est il possible de demander à excel de faire la recherche d'un fichier qu'il a sauvegardé
J'établis des factures sous excel ( fonctionne trés bien ) , celles ci sont sauvegardé à la racine dans le dossier "sauvegarde factures"

Les factures sont sauvegardées sous cette forme :

16-01-12 17-00-18-FACTURE n 5-nom du client

En premier la date : dd-mm-yy
En second l'heure : hh-mm-ss
En trois : le n ° de facture
Enfin : le nom du client

J'aimerai si cela est possible , faire une recherche soit :

a : Par le N° de Facture ( ici le 5 )
b : Par date et nom du client

Qu'une liste s'affiche suivant les critères de recherche , puis sélection , et enfin ouverture

J'en demande peut être beaucoup , si quelqu'un a une autre idée .

Merci par avance
francky62000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 18h26   #2
Candidat au titre de Membre du Club
 
Homme
Inscription : décembre 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : décembre 2011
Messages : 45
Points : 11
Points : 11
j'ai ce code mais il bloque de partout :



Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
    Sub Choisir_fichiers()
    ' Macro à appeler dans votre classeur de macros
    ' Ouvre les fichiers Excel contenu dans un dossier et ses sous-dossiers
    '
    Dim Fso As Scripting.FileSystemObject ' Gestionnaire de fichiers Windows
    Dim Nomdossiers As Scripting.Folders ' Collection des dossiers
    Dim Nomfichiers As Scripting.Files ' Collection des fichiers
    Dim ApplSelectionDossier As FileDialog ' Boite de dialogue d'ouverture de fichiers/dossiers
    'Création de la boîte de dialogue de choix du dossier
    Set ApplSelectionDossier = Application.FileDialog(msoFileDialogFolderPicker)
    'Choix du dosiier
    With ApplSelectionDossier
    ' Titre de la boite de dialogue
    .Title = "Sélectionnez un dossier"
    'L'utilisateur a cliqué sur le bouton OK de la boite de dialogue
    If .Show = -1 Then
    ' Créer un objet de gestion des fichiers
    Set Fso = CreateObject("Scripting.FileSystemObject")
    ' Affecte la liste des sous-dossiers du dossier sélectionné
    Set Nomdossiers = Fso.GetFolder(.SelectedItems(1)).SubFolders
    ' Affecte la liste des fichiers du dossier en-cours
    Set Nomfichiers = Fso.GetFolder(.SelectedItems(1)).Files
    ' Appel de la procédure d'ouverture des fichiers
    Call Ouvrir_fichier(Nomdossiers, Nomfichiers)
    'L'utilisateur a cliqué sur le bouton Annuler
    Else
    ' Rien
    ' Fin si
    End If
    End With
    End Sub
    ' Procédure de parcours de dossiers en mode récursif
    Sub Ouvrir_fichier(Nomdossiers As Scripting.Folders, Nomfichiers As Scripting.Files)
    Dim Nomdossier As Scripting.Folder ' Propriétés Dossier
    Dim Nomfichier As Scripting.File ' Propriétés Fichier
    Dim Fso As Scripting.FileSystemObject ' Gestionnaire de fichiers Windows
    ' S'il n'y a aps de fichiers dans le répertoire en cours
    If Nomfichiers Is Nothing Then
    ' Rien
    Else
    ' Pour chaque fichier de la liste de fichiers
    For Each Nomfichier In Nomfichiers
    ' Si L'extension du fichier est .xls ou .xlsx (Excel)
    If Right(Nomfichier, 4) = ".xls" Or Right(Nomfichier, 5) = ".xlsx" Then
    ' Ouvrir le fichier
    Workbooks.Open Filename:=Nomfichier
    ' ****************** Appeler la macro ici ***********************************
    ' ****************** Fin appel de la macro **********************************
    'Enregistre avant de fermer
    ActiveWorkbook.Save
    'Ferme le fichier
    ActiveWorkbook.Close
    ' Fin si
    End If
    ' fichier suivant
    Next
    ' Fin si
    End If
    ' S'il n'y a pas de sous-dossiers dans Nomdossier
    If Nomdossiers Is Nothing Then
    ' Rien
    Else
    ' Pour chaque dossier de la liste de dossiers
    For Each Nomdossier In Nomdossiers
    ' Créer un objet de gestion des fichiers
    Set Fso = CreateObject("Scripting.FileSystemObject")
    ' Affecte la liste des fichiers du dossier en cours
    Set Nomfichiers = Fso.GetFolder(Nomdossier.Path).Files
    ' Appel la procédure d'ouverture des fichiers (récursif)
    Call Ouvrir_fichier(Nomdossier.SubFolders, Nomfichiers)
    ' Dossier suivant
    Next Nomdossier
    ' Fin si
    End If
    End Sub
francky62000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 20h02   #3
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 924
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 924
Points : 7 254
Points : 7 254
Bonjour,

Sur la discussion ci dessous, tu trouveras un code pour la recherche d'un fichier via les API
http://www.developpez.net/forums/d11...rtir-d-colone/
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 01h18   #4
Candidat au titre de Membre du Club
 
Homme
Inscription : décembre 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : décembre 2011
Messages : 45
Points : 11
Points : 11
Bonsoir,

Il n'y aurait pas un peu plus simple en connaissant le chemin à emprunter , j'ai essayé et j'arrive pas à le faire fonctionner , j'ai même eu une inversion de tout ce qui était monétaire sur tout le classeur , le signe € s'est placé devant tous mes chiffres

Merci
francky62000 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 16h24.


 
 
 
 
Partenaires

Hébergement Web