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 :

Importer des données dans un classeur [XL-2007]


Sujet :

Macros et VBA Excel

  1. #21
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Private Sub Workbook_Open()
    Dim Chemin As String, Fich As String, Plage As String, nomfeuille As String
    Dim Teste As Boolean, Sh As Worksheet
    Chemin = "C:\Documents and Settings\Administrateur\Bureau\nani"
    'Plage = "A1:F200"
    nomfeuille = "Sage"
    Fich = Dir(Chemin & "\*.xls*")
        Do While Fich <> ""
                 Teste = False
                 For Each Sh In ThisWorkbook.Worksheets
                    If Sh.Name = Left(Fich, 31) Then
     
                         Teste = True
     
                       Exit For
     
                     End If
                 Next Sh
                 If Teste = False Then
                     Application.DisplayAlerts = False
                     Workbooks.Open Chemin & "\" & Fich
                     Application.DisplayAlerts = True
                     Sheets(nomfeuille).Copy before:=ThisWorkbook.Sheets(1)
                     ThisWorkbook.Sheets(1).Name = Left(Fich, 31)
                     Workbooks(Fich).Close False
     
                 End If
              Fich = Dir
        Loop
     
     
     
     
    End Sub
    La voilà
    Cordialement

  2. #22
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Le problème vient du fait que la macro est dans le module "ThisWorkbook". Remplace la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(nomfeuille).Copy before:=ThisWorkbook.Sheets(1)
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Sheets(nomfeuille).Copy before:=ThisWorkbook.Sheets(1)

  3. #23
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    bonsoir,

    ActiveWokbook et rarement une bonne idée ..

    utilise plutôt une variable de type workbook pour agir sur ton classeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Dim wk As workbook
    set wk =  Workbooks.Open (Chemin & "\" & Fich)
                     Application.DisplayAlerts = True
                     wk.Sheets(nomfeuille).Copy before:=ThisWorkbook.Sheets(1)
                     ThisWorkbook.Sheets(1).Name = Left(Fich, 31)
     
           wk.Close False
    en utilisant la variable wk pour agir sur ton classeur tu n'as pas à te préoccuper de savoir qu'elle est ton classeur actif..

  4. #24
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    @Daniel.C

    super,sa marche,merci bien pour votre aide,sa été laborieux car j'ai pas encore la main en VBA mais je crois que sa viendra très vite.
    Cordialement

    @bbil

    BONJOUR
    merci pour votre contribution,mais voilà lorsque j’essaie d'adapter votre code dans le mien,le message d'erreur selon lequel mon classeur n'existe pas ou est endommagé ou déplacé apparait,je vous propose mon code pour que vous déceliez les éventuelles erreur
    Cordialement

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Private Sub Workbook_Open()
     
    Dim Chemin As String, Fich As String, Plage As String, nomfeuille As String
    Dim Teste As Boolean, Sh As Worksheet, wk As Workbook
     
    Chemin = "C:\Documents and Settings\Administrateur\Bureau\nani"
    'Plage = "A1:F200"
    nomfeuille = "Sage"
    Fich = Dir(Chemin & "\*.xls*")
    Do While Fich <> ""
    Teste = False
    For Each Sh In ThisWorkbook.Worksheets
    If Sh.Name = Left(Fich, 31) Then
     
    Teste = True
     
    Exit For
     
    End If
    Next Sh
    If Teste = False Then
     
    Set wk = Workbooks.Open(Chemin & "\ " & Fich) 
    Application.DisplayAlerts = True 
    wk.Sheets(nomfeuille).Copy before:=ThisWorkbook.Sheets(1) 
    ThisWorkbook.Sheets(1).Name = Left(Fich, 31) 
    Workbooks(Fich).Close False 
     
    End If
    Fich = Dir
    Loop
     
    End Sub
    Citation Envoyé par Daniel.C Voir le message
    Le problème vient du fait que la macro est dans le module "ThisWorkbook". Remplace la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(nomfeuille).Copy before:=ThisWorkbook.Sheets(1)
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Sheets(nomfeuille).Copy before:=ThisWorkbook.Sheets(1)
    dans la même foulé je voudrais savoir si il était possible de faire des traitements dans différents classeurs et de centraliser les résultats dans une feuille d'un classeur différent.
    j'explique,lorsque j'importe mes feuilles excel des différents classeurs(code sus mentionné) j'y applique des tris et je récupères certaines informations à partir d'une macro derrière un bouton pour alimenter une feuille prédéfinie dans le classeur qui reçoit les feuilles des autres classeurs issus de l'importation.voici un bout 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
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    Private Sub CmdButton7_Click()
     
    Dim y As Long, e As Long, f As Long, g As Long, h As Long
    Dim i As Integer, test As Boolean, sh As Worksheet
     
    'test = False
      For Each sh In ThisWorkbook.Worksheets
     test = False
         If sh.Name = "Aout" Then
             test = True
       Exit For
         End If
       Next sh
     
     
    If test = True Then
     
    'renseignement de la colonne de Aout
        With Sheets("Aout")
           For i = 1 To 300
          y = Sheets("Aout").Cells(i, 1) 'on récupère la valeur du numéro de compte
     
          e = Sheets("Aout").Cells(i, 3) 'récupère la valeur de la colonne mvt débit
     
          f = Sheets("Aout").Cells(i, 4) 'récupère la valeur de la colonne mvt crédit
     
          g = Sheets("Aout").Cells(i, 5) 'récupère la valeur de la colonne solde débit
     
         h = Sheets("Aout").Cells(i, 6) 'récupère la valeur de la colonne solde crédit
     
             If y = "411105" Then
                 Sheets("gestion").Cells(7, 14) = e
     
             End If
     
             If y = "411104" Then
                 Sheets("gestion").Cells(8, 14) = e
     
             End If
     
             If y = "411410" Then
                 Sheets("gestion").Cells(9, 14) = f
     
             End If
     
             If y = "411107" Then
                  Sheets("gestion").Cells(11, 14) = g
     
             End If
     
             If y = "411108" Then
                  Sheets("gestion").Cells(12, 14) = g
     
             End If
     
             If y = "443" Then
                  Sheets("gestion").Cells(14, 14) = f
     
             End If
     
             If y = "601101" Then
                  Sheets("gestion").Cells(19, 14) = e
     
             End If
     
             If y = "601102" Then
                  Sheets("gestion").Cells(20, 14) = h
     
             End If
     
             If y = "601104" Then
                  Sheets("gestion").Cells(21, 14) = h
     
             End If
             If y = "601199" Then
                  Sheets("gestion").Cells(22, 14) = e
     
             End If
     
             If y = "601201" Then
                  Sheets("gestion").Cells(23, 14) = e
     
             End If
             If y = "445" Then
                  Sheets("gestion").Cells(25, 14) = f
     
            Next i
       End With
      End If
     
    End Sub
    je voudrais savoir si c'est possible de faire ses tri dans les feuilles des différents classeurs logé dans un même dossier et affecter leur résultat à une feuille d'un classeur différent,si oui comment m'y prendre pour faire ses traitement
    mon code marche lorsque les feuilles sont dans le même classeur,aussi étant débutant si vous pouvez me proposer des astuces pour optimiser mon code
    Cordialement

  5. #25
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Je ne comprends pas ce que tu veux; est-ce que ça a un rapport aec l'importation des feuilles ?

  6. #26
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    salut,cela a plus un rapport avec l'importation des données d'une feuille à l'autre de différents classeurs.
    j'essaie de vous expliquez,j'ai un classeur nommé "bilan" dans lequel j'ai la feuille "gestion" qui à des colonnes pour chaque mois(12) et des lignes de numéro de compte,en effet je dois affecter un montant a chaque numéro de compte selon le mois.J'ai également un classeur par mois dans lequel j'ai une feuille qui portera le nom du mois(exemple "Aout") contenant la balance du mois.La feuille contient 6 colonnes: le numéro de compte, l'intitulé, le mouvement débit,le mouvement crédit,le solde débit et le solde crédit.tous les classeurs sont dans le même répertoire"nani"
    ce que je voudrais que ma macro fasse à partir d'un bouton de commande c'est de rechercher les classeurs présents,ceux qu'il trouvera en fonction de leurs nom(leur nom sera composé de balance_mois) et du nom de leur feuille, il fera un tri afin de récupérer des montants concernant des numéro de compte bien précis qu'il prendra pour remplir la feuille"gestion" du classeur "bilan".
    En important toutes les feuilles des différents classeurs dans le classeur "bilan" j'arrive à faire mon tri et à remplir ma feuille"gestion" à l'aide du code envoyé précédemment,maintenant je voudrais savoir s'il était possible de le faire sans importer toutes les feuilles dans le même classeur
    Cordialement

  7. #27
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Ce que tu fais sur les feuilles importées, tu peux le faire sur les classeurs où se trouvent ces feuilles puisqu'on ferme les classeurs sans enregistrer les modifications. Donc, tu ouvres les classeurs un par un, tu fais les modifs nécessaires, tu recopies ce dont tu as besoin et tu fermes les classeurs sans enregistrer. L'ouverture et leur fermeture sans enregistrement est déjà dans la précédente macro. Si tu as besoin de plus de précisions, mets en pièce jointe le classeur "bilan", un classeur mensuel en précisant le plus possible ce que tu dois faire.

  8. #28
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    salut,j'ai joins trois fichier excel compressé,le classeur bilan et 2 balances(janvier et mars)
    dans la feuille "gestion" du classeur "bilan",la macro doit rechercher dans la feuille "janvier" du classeur "balance_janvier" le numéro de compte "411105" et copier le montant lui correspondant à la troisième colonne afin de l'affecter dans la feuille "gestion" du classeur "bilan" à la colonne "G9",ainsi que le compte "411104" et copier le montant lui correspondant à la troisième colonne afin de l'affecter dans la feuille "gestion" du classeur "bilan" à la colonne "G10"
    pour le compte "44" il copie le montant lui correspondant à la quatrième colonne et l'affecte à la colonne "G16" du bilan
    On fait pareille pour mars en faisant les recherches dans le classeur "balance_mars" et en affectant les résultats dans la colonne mars de la feuille "gestion" du classeur "bilan"(on aura les indices de colonne "I9","I10","I16")
    j'espère vous avoir bien éclairez
    Cordialement
    Fichiers attachés Fichiers attachés

  9. #29
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    copier le montant lui correspondant
    Il y a des montants dans les colonnes C, D, E, F; lequel prendre ?

    Je compte me baser sur le nom des onglets pour définir le mois de la balance. Est-ce que le nom des mois est bien celui des mois avec les accents qui vont bien ? "août" par exemple ? dans le cas contraire, donne-moi les mois tels qu'ils sont orthographiés.

  10. #30
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    pour les numéro"411105"et "411104",utilisez les montants de la colonne C
    quand au numéro"44",utilisez la colonne D
    concernant le nom des mois, c'est bien celui des mois écrit avec les accents, tout compte fait c'est vous qui définissez ces noms des onglets donc vous pouvez les éprirent comme bon vous semble pourvu qu'ils soient suffisamment indicatif
    Cordialement

  11. #31
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Oups, tu me l'avais déjà dit. Regarde la macro et le classeur joint :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub Import()
     
    Dim Chemin As String, Fich As String, Plage As String, nomfeuille As String
    Dim Teste As Boolean, Sh As Worksheet, wk As Workbook, An
     
    Application.ScreenUpdating = False
    Chemin = "C:\Documents and Settings\Administrateur\Bureau\nani"
    Set Sh = ThisWorkbook.Sheets("Gestion")
    Fich = Dir(Chemin & "\*.xls*")
    Do While Fich <> ""
    If Fich <> ThisWorkbook.Name Then
        Application.DisplayAlerts = False
        Set wk = Workbooks.Open(Chemin & "\" & Fich)
        Application.DisplayAlerts = True
        mois = Month(CDate("2012/" & wk.Sheets(1).Name & "/1"))
        Sh.[G9].Offset(, mois - 1) = Application.VLookup("411105", wk.Sheets(1).[A:D], 3, 0)
        Sh.[G10].Offset(, mois - 1) = Application.VLookup("411104", wk.Sheets(1).[A:D], 3, 0)
        Sh.[G16].Offset(, mois - 1) = Application.VLookup("44", wk.Sheets(1).[A:D], 4, 0)
        Workbooks(Fich).Close False
        End If
     
    Fich = Dir
    Loop
    Application.ScreenUpdating = True
     
    End Sub
    Fichiers attachés Fichiers attachés

  12. #32
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    super cool ,sa marche bien,trop fort
    tout s'affiche correctement sauf niveau de la première cellule de mars à remplir(elle affiche des "####" mais quand on pointe le curseur on aperçoit le chiffre)une erreur '13' s'affiche au niveau du mois(type de fichier incompatible) et aussi j'aimerais quelques commentaires pour mieux comprendre le code,aussi vous avez rempli la colonne mars de la feuille de gestion,je ne comprends pas bien comment
    merci encore
    Cordialement

  13. #33
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Voici la macro commentée. N'hésite pas à poser des questions.

    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
    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
    Sub Import()
     
    Dim Chemin As String, Fich As String, Plage As String, nomfeuille As String
    Dim Teste As Boolean, Sh As Worksheet, wk As Workbook, An
     
    Application.ScreenUpdating = False
    Chemin = "C:\Documents and Settings\Administrateur\Bureau\nani"
    'Chemin = "C:\Users\Daniel\Documents\Donnees\Daniel\mpfe\sigma17" 'AOT
    Set Sh = ThisWorkbook.Sheets("Gestion")
    'boucle dans les fichiers balance
    Fich = Dir(Chemin & "\*.xls*")
    'tant qu'il y en a
    Do While Fich <> ""
    ' si le fichier n'est pas le fichier Bilan (au cas où ils sont dans le même dossier)
    If Fich <> ThisWorkbook.Name Then
        'on n'affiche pas le message et on prend la valeur du bouton par défaut du message
        Application.DisplayAlerts = False
        'ouverture du fichier balance
        Set wk = Workbooks.Open(Chemin & "\" & Fich)
        'on réaffiche les messages
        Application.DisplayAlerts = True
        'calcul du mois numérique d'après le nom de la feuille
        'on convertit en date en utilisant le nom de la feuille
        'pour "janvier, on convertit 2012/janvier/1
        'CDate("2012/" & wk.Sheets(1).Name & "/1")
        'et on récupère le numéro de mois de cette date
        'Month(CDate("2012/" & wk.Sheets(1).Name & "/1"))
        mois = Month(CDate("2012/" & wk.Sheets(1).Name & "/1"))
        'On récupère les trois valeurs avec la fonction RECHERCHEV (VLookup)
        'en se servant du numéro de mois pour décaler les valeurs
        Sh.[G9].Offset(, mois - 1) = Application.VLookup("411105", wk.Sheets(1).[A:D], 3, 0)
        Sh.[G10].Offset(, mois - 1) = Application.VLookup("411104", wk.Sheets(1).[A:D], 3, 0)
        Sh.[G16].Offset(, mois - 1) = Application.VLookup("44", wk.Sheets(1).[A:D], 4, 0)
        'fermeture du fichier sans enregistrement
        Workbooks(Fich).Close False
        End If
    'lecture du fichier suivant.
    Fich = Dir
    Loop
    Application.ScreenUpdating = True
     
    End Sub

  14. #34
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    SVP est ce que je pourrais faire le remplissage de chaque colonne de la feuille "gestion" par une macro (une macro pour chaque mois) qui s'exécute après le click sur un bouton de commande
    Cordialement

  15. #35
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Oui, mais il faut que tu saches bien ce que tu veux. Je n'arrête pas de faire des modifs, ça me fait faire du boulot inutile. Je sors actuellement; tu auras ce soir ou demain.

  16. #36
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Voila la macro accrochée au bouton "janvier" :

    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
    17
    18
    19
    20
    21
    22
    23
    Private Sub cb01_Click()
    Dim Chemin As String, Fich As String
    Dim Sh As Worksheet, Wk As Workbook, Mois As Integer
     
    Application.ScreenUpdating = False
    Mois = 1 'mettre ici le numéro du mois
    Chemin = "C:\Documents and Settings\Administrateur\Bureau\nani"
    Chemin = "C:\Users\Daniel\Documents\Donnees\Daniel\mpfe\sigma17" 'AOT
    Set Sh = ThisWorkbook.Sheets("Gestion")
    Fich = Dir(Chemin & "\balance_janvier.xls*")
    If Fich = "" Then
        MsgBox "Fichier balance manquant"
        Exit Sub
    End If
        Application.DisplayAlerts = False
        Set Wk = Workbooks.Open(Chemin & "\" & Fich)
        Application.DisplayAlerts = True
        Sh.[G9].Offset(, Mois - 1) = Application.VLookup("411105", Wk.Sheets(1).[A:D], 3, 0)
        Sh.[G10].Offset(, Mois - 1) = Application.VLookup("411104", Wk.Sheets(1).[A:D], 3, 0)
        Sh.[G16].Offset(, Mois - 1) = Application.VLookup("44", Wk.Sheets(1).[A:D], 4, 0)
        Workbooks(Fich).Close False
    Application.ScreenUpdating = True
    End Sub
    Je n'ai créé que le bouton pour janvier. Crée les boutons pour les autres mois. A chaque fois, il faut que tu modifies la ligne qui contient le nom du fichier balance (ligne 10) et le numéro du mois (ligne 6). Vois également le classeur joint.
    Fichiers attachés Fichiers attachés

  17. #37
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 67
    Points : 63
    Points
    63
    Par défaut
    Grand merci à vous,tout marche correctement,chapeau vous êtes un AS:ccool,désolé de vous avoir obligé à faire autant de modifsj'espère vous lire encore sur d'autres sujets.
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [XL-2013] Importer des données dans un autre classeur
    Par titoupoulpe dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/12/2014, 14h11
  2. importer des données dans Hyperfile
    Par krak70 dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 13/04/2007, 17h19
  3. [VBA-E]Récupérer des données dans différents classeurs
    Par christellec20 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/03/2007, 18h32
  4. Importer des données dans Excel
    Par denis finch dans le forum Excel
    Réponses: 2
    Dernier message: 28/09/2006, 18h27
  5. Importer des données dans sql server avec DELPHI ???
    Par moutanakid dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2004, 17h22

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