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 :

Import de données Excel vers un classeur unique.


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    SALARIE
    Inscrit en
    Février 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SALARIE
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2016
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Import de données Excel vers un classeur unique.
    Bonjour

    Je sollicite votre aide pour aboutir mon projet VBA.
    Je suis sous seven, office 2010..

    Tous les mois, je dois collationner 5 à 8 fichiers Excel ayant la même structure, même type de données et même nombre d'onglets (2).

    J'ai avec une macro bien avancé, mais j'ai un souci dans la sélection des cellules à copier. Effectivement, je souhaiterai, dans l'idéal, sélectioner plusieurs plages : du style (F7:G119),(I7:J119).
    Sinon, si cela semble compliqué, alors dans ma sélection globale : (F7:AF119) lui demander de na pas copier/coller les cellules contenant des formules.

    Les données à importer ne sont que des chiffres, je ne souhaite pas importer les titres en haut de colonne ni de la colonne de gauche, c'est pourquoi ma sélection ne commence qu'en "F7".

    Evidemment, je ferai une macro pour chaque classeur, car chaque classeur à son onglet de destination dans le fichier "recup".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub RecupCopyFrmRecordset()
     ' Microsoft ActiveX DataObject doit être coché
      Sheets("Feuil3").Select
      Set cnn = New ADODB.Connection
      répertoire = ThisWorkbook.Path
      fichier = "Base de données.xlsx"
      cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & répertoire & "\" & fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
      Set rs = cnn.Execute("[A2:O28]")
      [D5].CopyFromRecordset rs
      rs.Close
      cnn.Close
      Set rs = Nothing
      Set cnn = Nothing
    End Sub
    D'avance merci, désolé de la longueur du texte, mais j'essaie d'être précis pour que vous puissiez comprendre mon problême.

    Merci

    Cordialement.

  2. #2
    Membre averti Avatar de pasdechances
    Homme Profil pro
    Alternant, Ingénieur en systèmes Informatiques et Industriels
    Inscrit en
    Septembre 2015
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Alternant, Ingénieur en systèmes Informatiques et Industriels
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 218
    Points : 403
    Points
    403
    Par défaut
    bonjour,

    au lieu de copier enregistre les infos des cellule dans une variable tableau
    tu gagnera en efficacité.

    apres pour ta selection si tu as un critiere particulier, une boucle sur les lignes de ta colonne avec un petit "if" feront l'affaire pour ton tri.

    sa donne un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    dim tab(0 to 100) as variant
     
    while cells(i,1)<> empty then
        if cells(i,1) = tacondition then 
             tab(j) = cells(i,1)
             j = j+1
        end if
        i = i+1
    wend
    tu peux remplacer la cellule par l'objet range ou autre mais l'idée est la.
    apres si tu n'as pas de condition de selection bah... sa devient plus dur comment faire un tri quand tu n'as aucun éléments à trier. cela dit en suivant la piste de la boucle avec la condition tu devrais arriver à quelques chose.
    N'oublier pas de cliquer sur quand vous avez trouvé une solution qui vous convient.
    Si mon intervention vous a été utile un petit serait sympatique.
    Et si vous avez du temps à consacrer, pensez a venir aider sur le forum.
    C'est en aidant que l'on découvre certaines choses

  3. #3
    Futur Membre du Club
    Homme Profil pro
    SALARIE
    Inscrit en
    Février 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SALARIE
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2016
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonsoir

    Merci de votre réponse, mais j'ai bien peur d'être dépassé par votre réponse.

    Je souhaite juste savoir si il est possible dans ma sélection, d'exclure les cellule contenant des formules.

    Peut-être cela n'est il pas possible ?

    Merci.

  4. #4
    Membre averti Avatar de pasdechances
    Homme Profil pro
    Alternant, Ingénieur en systèmes Informatiques et Industriels
    Inscrit en
    Septembre 2015
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Alternant, Ingénieur en systèmes Informatiques et Industriels
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 218
    Points : 403
    Points
    403
    Par défaut
    les cellules n'ont-elles pas un nom ou autre ?
    un intituler, une caracteristique redondante ect...
    N'oublier pas de cliquer sur quand vous avez trouvé une solution qui vous convient.
    Si mon intervention vous a été utile un petit serait sympatique.
    Et si vous avez du temps à consacrer, pensez a venir aider sur le forum.
    C'est en aidant que l'on découvre certaines choses

  5. #5
    Futur Membre du Club
    Homme Profil pro
    SALARIE
    Inscrit en
    Février 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SALARIE
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2016
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonsoir

    Pour répondre à votre question, non les cellules qui contiennent des chiffres non pas de caractéristiques particulières tout comme celles qui contiennent de formules.

    En fait, les colonnes F,G contiennent des chiffres et H contient une soustraction de F et G, I contient une soustraction de G et I et puis le cycle recommence en L.

    Par contre, si besoin , je peux nommer toutes les plages des colonnes qui contiennent des formules, ou à l'inverse celles qui contiennent que des chiffres.

    Merci

  6. #6
    Membre averti Avatar de pasdechances
    Homme Profil pro
    Alternant, Ingénieur en systèmes Informatiques et Industriels
    Inscrit en
    Septembre 2015
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Alternant, Ingénieur en systèmes Informatiques et Industriels
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 218
    Points : 403
    Points
    403
    Par défaut
    bien tu peux utiliser des nom de plage et pointer dessus sa irais plus vite avec l'enregistreur de macro tu aura l'adresse de la plage et tu pourra t'en servire

    PS : je sais qu'on ne se connai pas, mais j'ai tendance a tutoyer facilement sur les forum par convivialité, tu n'as aucun besoin de me vouvoyer hein ^^'.
    N'oublier pas de cliquer sur quand vous avez trouvé une solution qui vous convient.
    Si mon intervention vous a été utile un petit serait sympatique.
    Et si vous avez du temps à consacrer, pensez a venir aider sur le forum.
    C'est en aidant que l'on découvre certaines choses

  7. #7
    Futur Membre du Club
    Homme Profil pro
    SALARIE
    Inscrit en
    Février 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SALARIE
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2016
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonsoir

    Merci de ta réponse.

    Mais en repensant à ma macro, je me demande si le plus simple ne serait pas de copier les données, ce que ma macro fait déjà, mais aussi les formules (plutôt que les résultats).

    Si cela est plus simple alors je suis preneur d'une solution.

    Merci

Discussions similaires

  1. Importé des donnée Excel vers SAP (MM01)
    Par eddassiabdelhak dans le forum SAP
    Réponses: 3
    Dernier message: 02/02/2009, 12h36
  2. Importation de données Excel vers LabView
    Par alex_007 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 26/03/2007, 20h38
  3. importer les données excel vers oracle
    Par bnoir dans le forum Oracle
    Réponses: 6
    Dernier message: 17/10/2006, 15h35
  4. Importer des données Excel vers BD Access
    Par technopole dans le forum Access
    Réponses: 1
    Dernier message: 03/07/2006, 14h37
  5. Importer des données excel vers outlook
    Par faayy dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/10/2005, 09h30

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