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 :

Macro RECHERCHEV entre 2 fichiers excel distincts [Trucs & Astuces]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut Macro RECHERCHEV entre 2 fichiers excel distincts
    Bonsoir,
    est-il possible de réaliser une macro VBA qui permette de chercher des valeurs dans un fichier excel différent de celui sur lequel on travaille, et d'effectuer une recherchev sur ce fichier pour insérer les données dans le fichier en cours d'utilisation?

    je sais que recherchev se déclare par VLOOKUP en vba.
    mais comment en plus ne prendre que les valeurs présentes dans le 2ème fichier, en mettant une valeur par défaut dans le fichier en cours si la recherchev ne trouve rien?
    pouvez-vous m'aider, je sèche....
    merci pour votre future aide, comme d'hab

  2. #2
    RLX
    RLX est déconnecté
    Membre du Club Avatar de RLX
    Inscrit en
    Octobre 2004
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 51
    Points : 61
    Points
    61
    Par défaut
    Salut paflolo,

    Si tu arrive a le faire dans le même fichier alors il est très simple d'adapter le code sur plusieur fichier, il suffit juste d'utiliser workbooks("NomClasseur.xls") où NomClasseur.xls est le nom de ton classeur sur lequel tu veux faire la recherche ou écrire des données. Autre info, tu peux utiliser ThisWorkbook aussi qui se rapporte au classeur dans lequel est écrit la macro.

    Un petit exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Workbooks("NomClasseur.xls").Worksheets("Toto").Cells(1,1).value = "Mon Texte"
    ThisWorkbook.Worksheets("Toto").Cells(1,1)Interior.ColorIndex = 15
    Le premier écrit "Mon Text" dans une cellule du classeur NomClasseur.xls et le deuxième colorie la cellule dans le classeur où est écrit la macro.
    Pour résoudre un problème le plus dur n'est pas de trouver la solution, c'est de trouver celui qui la connait !!!!

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Une bonne habitude à prendre, quand on doit travaiiler sur plusieurs fichiers (et pas seulement sur plusieurs), c'est de créer des instances de ces classeurs.
    Petit exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim wbkSource As Workbook
    Dim wbkDest As Workbook
    Set wbkSource = Workbooks("Classeur1")
    Set wbkDest = Workbooks("Classeur2")
    ' Un exemple de manipulation:
    wbkSource.Sheets("Feuille1").[A1].Copy _
          Destination:=wbkDest.Sheets("Feuille1").[A1]
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    ah cool merci pour cette astuce!
    c'est comme quand on travaille sur plusieurs feuilles ;-)
    je vais essayer de chercher des exemples pour vlookup parce que pour l'instant j'ai pas réussi à faire mon rechercheV de valeurs

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Au lieu de chercher dans les fonctions de feuilles de calcul, cherche dans VBA.

    La méthode Find est ce qui te convient.

    Bien que je trouve l'exemple de l'aide en ligne bien clair, voici un petit coup de pouce:
    Find s'applique à un Range et renvoie un objet Range (composé d'une cellule).
    Comme on va devoir se référer à cet objet, on va en créer une instance (Set), comme pour les feuilles ou les classeurs.
    On pourra donc utiliser cette instance comme référence pour trouver les cellules voisines.

    J'espère que ces quelques indications t'aideront à comprendre la notion d'objet et à écrire tes programmes de manière plus "propre" et moins Basic.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    pour le moment j'en suis à ce 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
    Sub emp()
    Dim f2 As Worksheet
    Dim f4 As Worksheet
    Dim c As Range 'Colonne cellule  copier
    Dim d As Range 'Colonne cellule  copier
    Dim lignevidecopy As Long
    Set f2 = Feuil3
    Set f4 = Feuil6
     
    'requete
     
    Set c = f4.Cells.Find(What:="13462", After:=f4.Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False)
      If c Is Nothing Then
        MsgBox "Nom Introuvable ", vbCritical
        Exit Sub
      End If
        f4.Select
        c.Select
        f4.Range("B" & c.Row).Select
        Valo = f4.Range("B" & c.Row).Value
        f4.Range("B" & c.Row).Copy
        f4.Range("D" & c.Row).Value = Valo
        f4.Range("E" & c.Row).Value = c
     
    Set d = f2.Cells.Find(What:=c, After:=f2.Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False)
      If d Is Nothing Then
        MsgBox "Nom Introuvable ", vbCritical
        Exit Sub
      End If
        f2.Select
        f2.Range("J" & d.Row).Select
        ActiveSheet.Paste
     
    End Sub
    J'arrive à partir d'un numéro que je donne à me positionner sur l'autre feuille sur la valeur que je souhaite coller.

    Je n'arrive pas à faire la boucle sur la 1ère feuille pour parcourir toutes les valeurs puis chercher si elles sont présentes dans l'autre feuille, puis à coller les valeurs dans la colonne I de ma 1ère feuille lorsqu'elles sont repérées ...

    si la valeur de 1ere feuille n'existe pas dans la 2nde, alors je ne fais rien et je passe à la valeur suivante de la feuille1
    si la valeur existe, alors je copie la cellule qui est sur la colonne B, et je la colle sur la colonne I de la 1ere feuille sur la ligne correspondante à la valeur

  7. #7
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    J'en suis à ce niveau: çà fonctionne tant qu'il y a les valeurs, enfin apparemment lol
    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
    Sub emp2()
    Dim f2 As Worksheet
    Dim f4 As Worksheet
    Dim c As Range 'Colonne cellule  copier
    Dim d As Range 'Colonne cellule  copier
    Dim lignevidecopy As Long
    Set f2 = Feuil3
    Set f4 = Feuil6
     
    '1ere sous-requete
     
     f2.Select
    '    f2.Cells.Sort Key1:=Range("A3"), Order1:=xlAscending, _
      '  Header:=xlGuess, OrderCustom:=1, MatchCase:=False
     
    For i = 3 To f2.UsedRange.Rows.Count
        vale = f2.Cells(i, 1).Value ' référence
     
        f2.Cells(i, 9).Value = vale
     
     
    'requete
     
    Set c = f4.Cells.Find(What:=vale, After:=f4.Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False)
      If c Is Nothing Then
        MsgBox "Nom Introuvable ", vbCritical
        Exit Sub
      End If
        f4.Select
        c.Select
        f4.Range("B" & c.Row).Select
     
    Set d = f2.Cells.Find(What:=c, After:=f2.Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False)
     ' If d Is Nothing Then
      '  MsgBox "Nom Introuvable ", vbCritical
       ' Exit Sub
     ' End If
        f2.Select
        f2.Range("J" & d.Row).Select
        ActiveSheet.Paste
     
    Next i
    End Sub
    Mon problème, c'est que lorsqu'une valeur n'est pas trouvé dans la deuxiement feuille, çà s'arrete! Alors qu'une valeur suivante dans la feuille 1 peut etre présente dans la feuille2.
    Je n'arrive pas à sortir de la boucle, et boucler jusqu'a la fin des valeurs, en ne modifiant pas la valeur de colonne I si la valeur n'est pas présente!

    Pouvez vous m'aider?
    MERCI d'avance
    quelqu'un doit bien pouvoir m'aider...

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Un des buts (entre autres) de l'instanciation est de ne plus avoir besoin des Select et autres Activate.

    Là, je vais me coucher mais, si tu veux, demain j'essayerai de t'expliquer.

    A moins que tu ne trouves d'ici là.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  9. #9
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Plusieurs commentaires sur ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set f2 = Feuil3
    Set f4 = Feuil6
    Là, tu fais une opération inutile.
    Feuil3 est déjà un objet et tu n'as pas besoin d'en recréer une instance puisque tu en as déjà une à ta disposition.
    Toutefois, il y a, à la fois, un certain risque et un manque de lisibilité à travailler avec le CodeName d'une feuille.
    Tu admettras que, si tu dois relire ton code dans 1 an, tu te demanderas à quels onglets correspondent Feuil3 et Feuil6.
    Voici un exemple d'instanciation d'une feuille avec un nom lisible (celui qui est visible sur l'onglet):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim wksSource As Worksheet
    Dim wksDest As Worksheet
    Set wksSource = Sheets("ListeBrute")
    Set wksDest = Sheets("ListeParCode")
    Inutile de sélectionner la feuille puisqu'on peut s'y référer quand on veut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = 3 To f2.UsedRange.Rows.Count
    Ici, plutôt que d'utiliser un compteur pour se déplacer dans la première feuille, on va créer un objet Range des cellules utilisées dans la première colonne et parcourir ce Range avec un For Each.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set rSource = Range(wksSource.[A3], _
                          wksSource.Cells(wksSource.Cells.SpecialCells(xlLastCell).Row, 1))
      For Each c In rSource
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vale = f2.Cells(i, 1).Value ' référence
    Dans la boucle For Each, c est un objet cellule. On peut donc s'y référer directement.
    Bon, là j'ai du boulot.
    Je te livre déjà ces quelques réflexions.
    Je reviendrai, si j'ai le temps, continuer ce message. Viens y voir de temps en temps.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Comme ton problème m'intéressait et que je pense qu'il peut servir d'exemple pour l'usage des instanciations (de feuilles ou de cellules) et passage de ces instances en paramètres de fonctions, j'ai continué à le développer.
    Voici où il en est actuellement:
    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
    Sub emp2()
      Dim wksSource As Worksheet
      Dim wksDest As Worksheet
      Dim rSource As Range
      Dim c As Range ' cellule source
      Dim d As Range ' cellule destination
      Dim lignevidecopy As Long
      Set wksSource = Sheets("ListeBrute")
      Set wksDest = Sheets("ListeParCode")
     
      Set rSource = Range(wksSource.[A3], _
                          wksSource.Cells(wksSource.Cells.SpecialCells(xlLastCell).Row, 1))
      For Each c In rSource
        Set d = TrouveCode(c.Value, wksDest)
     
      Next c
    End Sub
     
    Function TrouveCode(sValue As String, Wks As Worksheet) As Range
      Dim c As Range
      Set c = Wks.Columns(1).Find(What:=sValue, LookAt:=xlWhole, MatchCase:=False)
      If c Is Nothing Then
        ' Attention, la feuille destination doit avoir, au moins, une ligne remplie
        Set c = Wks.Cells(Wks.Cells.SpecialCells(xlLastCell).Row + 1, 1)
        c = sValue
      End If
      Set TrouveCode = c
    End Function
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  11. #11
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Version complète:
    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
    Option Explicit
     
    Sub emp2()
      Dim wksSource As Worksheet
      Dim wksDest As Worksheet
      Dim rSource As Range
      Dim c As Range ' cellule source
      Dim d As Range ' cellule destination
      Dim i As Integer
     
      Set wksSource = Sheets("ListeBrute")
      Set wksDest = Sheets("ListeParCode")
     
      Set rSource = Range(wksSource.[A3], _
                          wksSource.Cells(wksSource.Cells.SpecialCells(xlLastCell).Row, 1))
      For Each c In rSource
        Set d = TrouveNumero(c.Value, wksDest)
        For i = 1 To 6
          AjouteValeur c.Offset(0, i), d, i
        Next i
      Next c
    End Sub
     
    Function TrouveNumero(sValue As String, Wks As Worksheet) As Range
      Dim c As Range
      Set c = Wks.Columns(1).Find(What:=sValue, LookAt:=xlWhole, MatchCase:=False)
      If c Is Nothing Then
        ' Attention, la feuille destination doit avoir, au moins, une ligne remplie
        Set c = Wks.Cells(Wks.Cells.SpecialCells(xlLastCell).Row + 1, 1)
        c = sValue
      End If
      Set TrouveNumero = c
    End Function
     
    Sub AjouteValeur(sValue As String, DestCell As Range, nCol As Integer)
      If IsEmpty(DestCell.Offset(0, nCol)) Then
        DestCell.Offset(0, nCol) = sValue
      Else
        If InStr(1, DestCell.Offset(0, nCol), sValue) = 0 Then
          DestCell.Offset(0, nCol) = DestCell.Offset(0, nCol) & "/" & sValue
        End If
      End If
    End Sub
    Minimum de code.
    Pas de Select ni Activate.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  12. #12
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Bonjour,


    je reviens sur tout ce qu'a dit AlanTech sur ce post

    Je trouve fort intéressant tout ça, est vu le nombre de questions que l'ona a ssez souvent sur comment travailler sur 2 fichiers Excel en parallèle, il serait bien de le mettre comme un truc & astuces, ou une chose de ce genre la juste le passage ou il parle des instances, et le pourquoi du comment

    Après ce n'est qu'un avis personnel
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  13. #13
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Dont acte
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  14. #14
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Et en meme temps, le placer dans "Vos contributions" sinon il va repartir dans les bas fonds du forum

    Tiens d'ailleurs j'ai une question par rapport aux instances..

    Comment on fai tpour instancier un classeur actif ? Comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim wbkDest As Workbook
    Set wbkSource = activeworbook
    ? ou faut mettre quelquechose derrière l'activeworkbook ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  15. #15
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par illight
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set wbkSource = activeworbook
    Faut juste pas faire de faute à activeworkbook
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. Macro RechercheV entre 2 fichiers
    Par Waglid dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 21/04/2015, 14h27
  2. Réponses: 2
    Dernier message: 16/09/2013, 16h45
  3. Copier coller entre deux fichiers excel par macro
    Par miss-o-21 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/11/2009, 14h45
  4. liaison entre deux fichier excel (macro)
    Par tamildark dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/12/2008, 17h17
  5. [VBA-E]une macro unique pour plusieurs fichiers excel
    Par fanchic29 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/04/2006, 16h20

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