IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Creer un macro qui verifie une info sur plusieur fichier excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 71
    Points : 31
    Points
    31
    Par défaut Creer un macro qui verifie une info sur plusieur fichier excel
    Bonjour,

    Je possède plusieurs fichier Excel et je voudrais faire une recherche sur l'ensemble des fichier excel si il possede dans l'onglet "feuille2" "Case A2" l'information "Version3"
    Le fichier sont ranger de cette facon:
    C:/Packfichierexcel/Pack1/Excel12/Excel12.XLS
    C:/Packfichierexcel/Pack1/Excel13/Excel13.XLS
    C:/Packfichierexcel/Pack2/Excel16/Excel16.XLS

    Donc je me demandais si il etait possible de creer un fichier excel que je pourrais placer dans "C:/Packfichierexcel" et qui va me regarder sur l'ensemble des dossier les fichier excel qui existe et ensuite verifier la version et ensuite doncmarquer dans une tableau la version de la case A2 avec le nom du fichier excel sur un tableau?

    c'est possible?

    Merci

  2. #2
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Réponse oui c'est possible.

    Le plus simple est d'ouvrir les différent fichier (si tu as leurs nom et l'endroit ou ils sons ce sera facile)
    commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Dim wb As Workbook
    Set wb = Workbooks.Open (Filename:= "C:/Packfichierexcel/Pack1/Excel12/Excel12.XLS")
     
    if wb.worksheets("Feuil2").range("A2") <>"Version3" then
    Msgbox "Le classeur " & wb.name & " n'est pas a jour.", vbokonly
    end if
    wb.close false 'ferme sans enregistrer
     
    Set wb = Workbooks.Open (Filename:= "C:/Packfichierexcel/Pack1/Excel13/Excel12.XLS")
     
    if wb.worksheets("Feuil2").range("A2") <>"Version3" then
    Msgbox "Le classeur " & wb.name & " n'est pas a jour.", vbokonly
    end if
    wb.close false 'ferme sans enregistrer
    'etc
    Après pour travailler sur tous les classeur d'un dossier tu peux utiliser chdir (je croi que c'est ca mais fait une recherche dans le forum et la faq le sujet a souvent été traité)
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 71
    Points : 31
    Points
    31
    Par défaut
    j'ai deja fais une recherche et je viens de trouvé ca pour debut de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Recherche()
    With Application.FileSearch
    NewSearch
    RefreshScopes
    LookIn = "C:/Packfichierexcel"
    FileName = "*.xls"
    SearchSubFolders = True
    Execute
     
    ' Et voila la boucle pour parcourir le dossier mais je sais pas comment m'en servir:
        For Ctr = 1 To .FoundFiles.Count
          Cells(Ctr, 1) = .FoundFiles(Ctr)
        Next
      End With
    End Sub

    Sinon il faudrait se servir de ce type de code pour faire la recherche des adresses?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub LireRepertoir2()
    'lire les fichiers d'un répertoir
    Dim fs, F, f1, S, sf
    Dim Ext As String, Chemin As String
        Chemin = "E:\" 'adapter au répertoir où sont situés les fichiers.
        Ext = "xls"
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set F = fs.GetFolder(Chemin)
        Set sf = F.Files
        For Each f1 In sf
            If Right(f1.Name, 3) = Ext Then 'pour être certain que c'est un bon fichier
                'ici tester le nom
                'et en faire ce que l'ont veux
            End If
        Next
    End Sub
    j'ai egalement trouvé ce code pour liste les adresse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ListeFichiers2()
    repertoire = ThisWorkbook.Path    ' adapter
    i = 2
    nf = Dir(repertoire & "\*.xls")         ' premier fichier
    Do While nf ""
        Cells(i, 1) = nf
        nf = Dir                                     ' suivant
        i = i + 1
    Loop
    End Sub
    Mais excel mais dit que cela est faut ici:
    Do While nf ""
    Avez vous vue deja ce code que j'ai mis en 1er il me semble adapter pour la fonction que je souhaite realiser non?

  4. #4
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 71
    Points : 31
    Points
    31
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ListeFichiers2()
    repertoire = ThisWorkbook.Path    ' adapter
    i = 2
    nf = Dir(repertoire & "\*.xls")         ' premier fichier
    Do While nf <> ""
        Cells(i, 1) = nf
        nf = Dir                                     ' suivant
        i = i + 1
    Loop
    End Sub
    ok le code marche maintenant mais il ne fais la recherche que dans un dossier, j'aimerais qu'il fasse également la recherche dans les sous dossier, comment faire? car les fichier sont stoké sur differents sous dossier

    merci

  6. #6
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Pour lister le contenue d'une répertoire et des sous répertoire
    http://excel.developpez.com/faq/inde...riptingRuntime
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/08/2017, 16h55
  2. [XL-2010] Faire une boucle sur plusieurs fichiers excel
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 09/03/2015, 12h52
  3. Macro copier coller d'une plage sur nouveau fichier excel sous condition
    Par lapagaille dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/02/2014, 13h11
  4. [OpenOffice][Tableur] Macro bouton, appliquer une valeur sur plusieurs cellules selectionées
    Par myz-rix dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 23/07/2011, 06h37
  5. Réponses: 1
    Dernier message: 11/02/2011, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo