Importation excel à la suite

Bonjour,

J'ai un tableur sur lequel je note tout ce que je fais par semaine. Je souhaiterai regrouper les données pour, à terme, regrouper les informations par clients pour avoir une liste des tâche effectuées par dossiers.
Mon idée est d'enregistrer une macro pour exporter les données intéressantes dans un autre tableur. Une fois regroupée, je les mets en tableau croisé dynamique.
La macros est bien enregistrée mais ça range les informations toujours à partir de la cellule B2. Moi je voudrai que ça puisse être mis à la suite chaque fois.
Est-il possible de faire en sorte de changer dans la macro B2 par quelque chose comme "dans la première ligne disponible de la colonne B"? Si oui, comment faire? Et si vous avez des solutions plus simples ou intéressantes, je suis preneur.

D'avance merci à tous.

5 réponses

  1. Contributeur
    Bonjour

    ..." Par contre, je le mets où ça car je vois bien le "end sub" mais pas le "sub export"? "...

    Ah bon ?
    Si ce n'est trop te demander, lis la 2° ligne du code
    1. Merci pour ta réponse et pardon pour le temps de réponse me concernant. Le début de semaine a été speed!

      Par contre, je le mets où ça car je vois bien le "end sub" mais pas le "sub export"? Et, te serait-il possible de me l'expliquer pour que je vois en gros ce que tu as fait STP? Si tu me réponds que je gourmand et chi***, je comprendrais!

      Et merci pour le lien, j'ai regardé en diagonale car je n'avais pas trop de temps mais je m'y pencherais quand je pourrai.
      1. Contributeur
        Option Explicit
        Sub transfert()
        Dim Xxx As Variant, Lig As Integer 'préciser type de vaiable de xxx
        Xxx = Range("H120")
        Windows("Classeur base TCD.xlsm").Activate
        With Sheet("feuil1") 'A adapter au contexte
        Lig = .Columns("B").Find(what:="", after:=.Range("B6")).Row
        Range("B" & Lig) = Xxx
        End With
        Windows("Classeur Temps 3.0 tests.xlsx").Activate
        End Sub


        Pour commencer à apprendre VBA
        regarde de ce coté: très cool et pédagogique
        http://www.info-3000.com/vbvba/
        1. Merci Michel pour la réponse.

          Pour te répondre, la ligne sera toujours remplie, hormis la première fois.

          Par contre, entre temps, j'ai changé de ligne pour insérer les boutons. La première ligne à remplir est maintenant B6. Est-ce que ça modifie ta réponse?

          Je ne sais pas non plus à quel niveau il faut insérer ce que tu m'as dit. Voici ce que ça donne :

          Sub EXPORT()
          '
          ' EXPORT Macro
          '

          '
          Range("B9:B120,H9:K120").Select
          Range("H120").Activate
          Selection.Copy
          Windows("Classeur base TCD.xlsm").Activate
          Range("B6").Select
          ActiveSheet.Paste
          Windows("Classeur Temps 3.0 tests.xlsx").Activate
          Range("A1:B1").Select
          Application.CutCopyMode = False
          End Sub


          Question bonus :

          Concrètement, comment fait-on pour apprendre à faire ce genre de chose? Est-ce "simplement" une sorte d'autre langage ou autre? Apprendre à faire des macros est vraiment un truc que je voudrais faire mais ça me paraît tellement énorme que je ne sais pas par où commencer ! AAvez-vous de pistes ?
          1. Contributeur
            Bonjour
            Pour trouver la 1° ligne vide dans une colonne

            S=i la celle B1 est toujours occupée
            Lig = Columns("B").Find("", range("B1")).Row

            si la cellule B1 peut ^tre vide
            Lig = Columns("B").Find("", Cells(Cells.Rows.Count, "B")).Row