Copier cellules sur la première ligne vide d'une autre feuille

Flobox49 Messages postés 34 Statut Membre -  
Flobox49 Messages postés 34 Statut Membre -
Bonjour,
Je souhaiterai créer une macro qui me copie plusieurs cellules d'une feuille, dans un tableau situé sur une autre feuille de façon à extraire de ces données pour sauvegarde et faire un graphique !

je m'explique,

j'ai besoin de copier la cellule B6;E19;F19;G19;E23;G23 D'une feuille nomme TOP 30, pour les copier dans un tableau " heures" dans une feuille nommé Save_heures, et je souhaiterai que la macro copie ces cellules dans la 1er ligne vide de mon tableau, et que cela s’incrémente à chaque fois que je lance la macro!

la première ligne de Save commencerai en ligne 2 car ligne 1 c'est les titres des colonnes.

c'est une sorte de tableau de sauvegarde vu que la première feuille " top 30" seras effacée et remise à zéro tous les jours.

hors j'ai bien fais des essais avec une formule mais celle-ci alimente toujours le tableau dans la 1er ligne après les titres, mais ne s'incrémente pas.

Merci de votre aide

3 réponses

  1. danielc0 Messages postés 2216 Date d'inscription   Statut Membre Dernière intervention   294
     
    Bonjour,

    Est-ce que tu peux donner quelques précisions ? "heures" est le nom d'un tableau ou celui d'une plage ? Est-ce qu'il s'agit d'écrire sous ce tableau ou d'insérer les cellules s'il y a une ligne vide dans le tableau ?

    Cordialement.

    Daniel
    0
  2. Flobox49
     
    Bonjour Daniel,

    Oui "heures" est le nom du tableau.
    Oui les cellules a copiés sont a insérer dans la 1er ligne vide dans le tableau "heures"

    Du coup un déclenchement de la macro viens copié chaque cellules sur une ligne vide, les cellules sont a copié sur la même ligne.

    Dans le tableau " heures"

    1er déclenchement =

    B6 en A2
    E19 en B2
    Etc....

    Et le prochain déclenchement de la macro copiera

    B6 en A3
    E19 en B3
    Etc...

    Merci de ton aide Daniel
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    pour trouver la 1° ligne vide


    Ligvid = Columns("A").Find("", Range("A1")).Row
    .


    0
    1. Flobox49
       
      Et du coup avant je fais juste une macro qui copie et colle les cellules ou je le souhaite ?

      Merci
      0
    2. danielc0 Messages postés 2216 Date d'inscription   Statut Membre Dernière intervention   294
       
      Si j'ai bien compris, mets cette macro dans le module de la feuille "top 30" :

      Private Sub Worksheet_Change(ByVal Target As Range)
        Dim Ligne As Long, C As Range, Col As Integer
        If Intersect(Target, [B6,E19:G19,E23,G23]) Is Nothing Then Exit Sub
        If Target.Count = 1 And Target.Value <> "" Then
          If Application.CountA([B6,E19:G19,E23,G23]) < 6 Then Exit Sub
          With Sheets("Save_heures")
            Ligne = .[A:A].Find("", .[A1]).Row
            For Each C In [B6,E19:G19,E23,G23]
              Col = Col + 1
              C.Copy .Cells(Ligne, Col)
            Next C
          End With
        End If
      End Sub


      Classeur :

      https://mon-partage.fr/f/oYKYFqJj/

      Daniel
      0
    3. Flobox49
       
      Merci beaucoup
      Je test ça demain a mon réveil
      0
    4. Flobox49 Messages postés 34 Statut Membre
       
      je n'ai pas pu attendre !!!
      j'ai bien téléchargé votre fichier mais comment vous exécuter la Macro ? car elle n’apparaît pas dans la fenêtre de visual ainsi que dans développeur !

      ce que je retrouve dans le fichier partagé est parfait selon moi, mais je n’arrive pas à comprendre comment déclencher la macro, cela ce fait en automatique ?

      cordialement
      0
    5. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour,

      L'enregistreur de macro est très pratique mais ne peut que mémoriser tout ce que tu fais sur Excel.
      VBA est un langage de programmation permettant de réaliser des applications impossibles avec l'enregistreur mais qui demande un apprentissage pour devenir autonome

      Je me permets de te conseiller un site ( qui date) très pédagogique et décontracté
      http://www.info-3000.com/vbvba/cours/index.php

      ensuite tu pourras potasser ces tutos
      https://excel.developpez.com/cours/?page=prog#prog

      au passage:
      l'utilisation de crochets [ ] sur le site de l'excellent jacques Boisgontier est normalement utilisée pour écrire des formules matricielles dans VBA (dixit Laurent Longre), mais comme tout le monde je les utilise suite à un décret de mon poil dans la main ;o).
      0