[CHERCHE] Macro pour controler/modifier

Résolu
bilou -  
 bilou -
Bonjour,

Pour les besoins de mon travail, j'aurais besoin d'une macro qui me permettrai de récupérer et lister des infos situées dans plusieurs classeurs et une deuxième qui pourrai réaliser l'opération inverse. Je m'explique :

J'ai un Classeur A et un dossier B contenant 3 classeurs, B1, B2 et B3. Ces classeurs ont tous en cellule A1 une date.
Je souhaite récupérer toutes ces dates dans la feuille "DATE" de mon classeur A sous cette forme :
colonne A|colonne B
Date B1 | B1.xls
Date B2 | B2.xls
Date B3 | B3.xls

La seconde macro me permettrai de réinjecter les valeurs Date B1, Date B2 et Date B3 dans les classeurs correspondants, sachant que j'aurais peut être modifier certaines dates pour les besoins de mon travail.

Je sais que c'est une requête qui n'est pas simple, en tout cas j'espère que certains pourront m'aider.

D'avance merci

Bilou


A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Re-
Tu n'as que 3 classeurs concernés par cet Import-export de date?
Le dossier contenant ces 3 classeurs contient-il d'autres fichiers? classeurs?
Ces classeurs ont tous en cellule A1 une date. Cellule A1 ok, mais de qu'elle feuille? les noms de ces feuilles sont ils identiques dans les 3 classeurs??
Cordialement,
Franck P
0
bilou
 
Bonjour,
Le dossier peut contenir plus d'une centaine de classeur en fonction de l'affaire, tous identiques dans leur structure. la date se trouve en A1 sur la feuil1.
Si cela marche je me plongerai dedans pour l'adapter mais si déjà ca fonctionne, ce serai vraiment super!
Si tu as besoin d'autres infos n'hésite pas, je surveille le thread.

Merci pour l'attention portée a mon problème en tout cas

Bilou
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
S'agit-il toujours du même répertoire?
0
bilou
 
Oui, en fait le principe c'est de coller dans le répertoire les classeurs que je veut contrôler en masse et modifier si besoin sans avoir à tout ouvrir.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bon alors :

Tu ouvres ce classeur.
Pour "importer" tes dates : ALT+F8 choix : ImporterDates
Pour "exporter" tes dates : ALT+F8 choix : ExporterDates

Les codes :
Option Explicit

Sub ImporterDates()
Dim objShell As Object, objFolder As Object
Dim Chemin As String, fichier As String

    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)

If objFolder Is Nothing Then
    MsgBox "Abandon opérateur", vbCritical, "Annulation"
Else
    Columns(1).NumberFormat = "m/d/yyyy"
    Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "\"
    [B1] = Chemin
    fichier = Dir(Chemin & "*.xls")
    Do While Len(fichier) > 0
        ThisWorkbook.Names.Add "Plage", _
            RefersTo:="='" & Chemin & "[" & fichier & "]Feuil1'!$A$1"
        With Sheets("Feuil2")
            .[A1] = "=Plage"
            .[A1].Copy
            Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
            Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Offset(0, 1) = fichier
        End With
        fichier = Dir()
    Loop
End If
End Sub

Sub ExporterDates()
Dim Chemin As String, fichier As String
Dim maDate As Date
Dim Lign As Long, DrLig As Long

Application.ScreenUpdating = False
With Sheets("Feuil1")
    DrLig = .Range("A" & Rows.Count).End(xlUp).Row
    For Lign = 2 To DrLig
        maDate = .Cells(Lign, 1).Value
        If Not IsDate(maDate) Then
            MsgBox "Format de date incorrecte à la ligne : " & Lign
            Exit Sub
        End If
        Chemin = [B1]
        fichier = .Cells(Lign, 2).Value
        Workbooks.Open Chemin & fichier
        With ActiveWorkbook
            .Sheets("Feuil1").Range("A1") = CDate(maDate)
            .Save
            .Close
        End With
    Next
End With
Application.ScreenUpdating = True
End Sub
0
bilou
 
Merci beaucoup Pijaku, je teste ça tout de suite!!
Je m'attendais pas a une réponse aussi rapide, c'est vraiment cool.

Bilou
0
bilou
 
Rebonjour,

C'est impeccable, ça marche du tonnerre et dans les deux sens, je vais y mettre un peu le nez pour voir comment lui faire récupérer d'autres cellules sous le même principe et se sera exactement comme je le voulais.

Un grand grand merci pour ton aide pijaku, grâce a toi je vais gagner un temps fou et j'aurais un vrai visu sur mes tableaux de rendus.

merci encore!

Bilou
0