Cherche à rapatrier des données Excel ( VBA )

Marie -  
Maisquellegalere Messages postés 25 Statut Membre -
Bonjour, je cherche depuis longtemp comment faire pour prendre plusieurs informations présent sur des fichiers Excel et les faire figurer dans un seul et unique tableau Excel. si quelqu'un peut venir à mon secour je le remercie d'avance
:))

7 réponses

  1. Maisquellegalere Messages postés 25 Statut Membre
     
    Pourrais tu donner un exemple de ce que tu as et de ce que tu veux obtenir !

    Par exemple donner le type d'infos que tu désir copier ( texte , date , heure , chiffre,...)
    Et permet moi de demander confirmation
    Tu veux copier certaines colonnes ou lignes de fichiers sources vers un seul fichier destinataire.
    Et doit tu réunir plusieurs infos dans une même cellules ?

    je suppose que dans ton fichier destinataire tu as déjà des titres de colonnes et de lignes , si certaines lignes sont fusionner il te faudra les dé-fusionner , VBA n'aime pas trop cela.
    0
  2. Marie
     
    bonjour merci d'avance d'avoir répondu à mon message.
    Je te dis toute de suite c'est assez compliqué à expliquer mais je vais te donner des exemples pour expliquer.
    En faite ca serais plus facile que je te l'envoi nn?
    enfin je te di ce que je souhaite
    j'ai créer un formulaire de saisie sur lesquel je doit sélectionner un type de contrat(5choix possible) et lorsque je valide cela m'ouvre un fichier ou sont reportés mon données saisie précedement dans mon formulaire. tous cela marche parfaitement
    cependant je voudrais que toute les info qui sont enregistrer dans ces fichiers s'enregistre aussi dans un tableau unique (voila mon problème)
    donc par exemple j'ai créer un fichier "Toto" et je voudrais que les informations contenu dans ce fichier soit enregistré dans un tableau (qui se situe dans un autre fichierExcel)
    voila j'espere que vous aurez compris mes explications
    0
  3. Maisquellegalere Messages postés 25 Statut Membre
     
    désolé pour le retard pb de clé 3G

    Windows("source.xlsm").Activate
    Sheets("Feui1").Select
    Range("G:G,I:I").Select
    Range("I1").Activate
    Selection.Copy
    Windows("destination.xlsm").Activate
    Sheets("Feuil1").Select
    Range("G1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False


    voila un code qui te permet de copier les colonnes les G et I du fichier source vers les colonnes du fichier destinataire
    (il faut pour cela que ton fichier source soit ouvert)
    tu peux parfaitement changer la plage de données a copier et la destination (rien ne doit forcement étre identique)

    j'espère que ça t'aide
    n'hésite pas à poser des questions
    0
    1. Marie
       
      oui j'en est plein des questions :))
      la première c'est que je crois pas que cela convienne car je cherche pas a coller seulement mes données mais tout a bord je doi faire un tri
      d'autre part c'est tu utiliser les requête SQL?
      0
  4. Maisquellegalere Messages postés 25 Statut Membre
     
    Pour les requête SQL , c'est pas ma tasse de thé

    quand tu dis faire un tri , tu veux dire filtrer tes données avant de les copier ?
    0
    1. Marie
       
      oui en faite j'ai deux tableau que je souhaiteré remplir automatiquement avec les données que j'ai fait apparaitre dans un autre tableau. cependant les données dans le tableau 1(on va l'appeler comme ca) ne comporte que les données qui on un numero de compte commencant par des numero bien défini. et le tableau2 doit avec les données qui correspond a tous les contrats qui sont sur plusieur année. jespere que tu comprend et tu vas pouvoir m'aider.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Maisquellegalere Messages postés 25 Statut Membre
     
    je t'avouerais que je n'ai pas tout compris , alors pour évité de te répondre quelque chose d'inutile je préfère que tu ré-explique
    tes tableaux 1 ET 2 sont à remplir automatiquement grâce aux données tu tableaux 3
    ton tableau 1 dont comporter des données spécifiques (filtrées)
    mais sur ton tableau 2 je n'ai rien compris et je ne sais pas si les 1 et 2 ont un lien ou pas
    si après ta réponse à cela je ne comprends toujours pas , je pense que je n'arriverai pas à te répondre.

    (ce que tu explique la crée une différence avec ce que tu avais expliqué au tout début !)
    0
    1. Marie
       
      donc oui cé tou a fé ca pour le tableau 1.
      dans mes information j'ai une date de fin de contrat et si cette date a pour année celle actuellement (c'est a dire si j'ai come date 21/12/2010 alors je ne reporte pas ces information mais si la date est 12/12/2013 alors y faut quel apparaisse dan le tableau2.
      nn les tableau 1 et 2 non aucun lien enfin les données qui doivent se mettre dans le tableau 1 ne se mettron pas dans le tableau2
      0
    2. Marie
       
      avez vous compris mes explications?
      0
  7. Maisquellegalere Messages postés 25 Statut Membre
     
    pour le tableau 1 pour faire une macro simple , il faudrait filtrer le fichier le tableau source , puis copier les informations que laisse apparaitre le filtre (les infos qu'il nous faut somme toute) dans le tableau 1 et ensuite annulé le filtre

    pour le tableau 2 il faudrait utilisé une directive IF...THEN...ELSE ("si...alors...sinon") cad si la date est <ou= a aujourd'hui alors il ne fait rein sinon il copie les infos dans le tableau 2

    si cette solution te conviens je peux te fournir les codes qui correspondent , mais je n'aurais pas le temps aujourd'hui !
    0
    1. Marie
       
      oui sa serai une bonne solution je veux bien que tu me donne les codes. merci beaucoup
      0
    2. Marie
       
      question a part savez vous ecrire "si C7 est compris entre 613 et 614 alors"
      0
  8. Maisquellegalere Messages postés 25 Statut Membre
     
    Public Sub C7_compris_entre ()

    Dim Nb As Double

    Nb= Feuil1.Cells(7, 3)

    If Nb > 613 Then

    If Nb < 614 Then

    ICI CE QUE TU VEUX METTRE APRES LE "ALORS"

    End Sub
    0