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 :

Insertion données d'un classeur dans un autre


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 93
    Points : 56
    Points
    56
    Par défaut Insertion données d'un classeur dans un autre
    Bonjour

    J'aimerai savoir s'il était possible d'insérer des données d'un classeur dans un autre ? J'aimerai regarder dans une colonne d'un classeur s'il existe une valeur et si elle existe prendre la valeur correspondante et l'insérer dans un autre classeur...j'ai beau essayer plein de chose différente rien ne marche... ça m'affiche pas de message d'erreur mais ça me met pas les valeurs correspondantes...je vous met ci dessous deux types de code que j'ai inscrit :


    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
     Workbooks.Open Filename:=("C:\Users\\" & Worksheets("Liste fonds").Range("B2").Offset(i, 0))
            Range("I1").Select
     
            j = 0
            While Range("I1").Offset(j, 0) <> ""
            If Range("I1").Offset(j, 0) = "HS MONE" Then
            nbrehsbc = Range("I1").Offset(j, 17)
     
            Workbooks("CONTROLE MONE.xls").Activate
            Worksheets("CONTROLE").Activate
            Range("F13").Offset(i, 0) = nbrehsbc
     
            End If
     
            j = j + 1
     
            Wend
    ici j'ouvre tous les excel portant le nom présent dans la colonne B2 et je check leur colonne I pour vérifier mes conditions...

    Dans ce deuxième code je teste juste sur un classeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Workbooks.Open Filename:=("C:\Users\" & "HISINV_20141231_1416_UNOFI-RENDEMENT_2.xls")
        Range("I1").Select
        For i = 0 To 100
        If Range("I1").Offset(i, 0) = "HS MONE " Then
     
        Workbooks("CONTROLE MONE.xls").Worksheets("feuil3").Range("A2") = Range("I1").Offset(i, 17)
        End If
        Next i
    mais ça ne s'affiche pas non plus ...

    Si quelqu'un peut me dire si c'est possible et si oui quel procédé faut il utiliser s'il vous plait ?

    Cordialement

  2. #2
    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,

    Remplace ton second code par celui-ci (change le nom de la feuille) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Dim I As Variant
        Workbooks.Open Filename:=("C:\Users\" & "HISINV_20141231_1416_UNOFI-RENDEMENT_2.xls")
        With Sheets("Feuil1") 'à modifier
            I = Application.Match("HS MONE ", .[I:I], 0)
            If IsNumeric(I) Then
                Workbooks("CONTROLE MONE.xls").Worksheets("feuil3").Range("A2") = .Range("I1").Offset(I, 17)
            End If
        End With

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 93
    Points : 56
    Points
    56
    Par défaut
    ha j'ai appris une fonction, je connaissais pas la fonction match...

    Mais même résultat, ça bug pas le programme se lance mais rien ne s'affiche...

    j'ai essayé de mélanger votre méthode avec les différentes manières que j'ai procédé mais le résultat reste le même...


    Cordialement

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Bonjour, bonjour !

    Si, si, tu dois la connaitre ! C'est la fonction EQUIV de feuille de calculs !
    Comme quoi en VBA mieux vaut d'abord penser à une formule Excel qu'à une usine pure VBA !

    Et si tu n'y arrives pas manuellement avec cette fonction, il y a aussi parmi d'autres la fonction RECHERCHEV
    (les deux sont détaillées dans l'aide d'Excel) …

    Une fois que tu as une formule correcte, indiques-la nous et on pourra t'indiquer une astuce pour la traduire en VBA …

  5. #5
    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
    Essaie ce code. Est-ce que le message d'anomalie ("Valeur non trouvée") apparaît ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Dim I As Variant
        Workbooks.Open Filename:=("C:\Users\" & "HISINV_20141231_1416_UNOFI-RENDEMENT_2.xls")
        With Sheets("Feuil1") 'à modifier
            I = Application.Match("HS MONE ", .[I:I], 0)
            If IsNumeric(I) Then
                Workbooks("CONTROLE MONE.xls").Worksheets("feuil3").Range("A2") = .Range("I1").Offset(I, 17)
            Else
                MsgBox "Valeur non trouvée"
            End If
        End With

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 93
    Points : 56
    Points
    56
    Par défaut
    je viens de trouver en exécutant ligne par ligne... j'avais oublié un \ sur un lien au tout début de mon code.... en tout cas merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Recherche de donnés selon un critère dans un autre classeur
    Par AFcrv dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/10/2014, 16h06
  2. [XL-2007] Import des Données d'une feuille dans un autre classeur
    Par Mickeylemotard dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/09/2012, 17h25
  3. Enregistrer des données d'un Userform dans un autre classeur
    Par LinC49 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/01/2011, 17h51
  4. [MySQL] Insertion données d'une table dans une autre table
    Par kikoyo dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 05/04/2009, 15h16
  5. concatenation des données d'une table dans une autre
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/10/2004, 11h38

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