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

Fermé
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018 - Modifié le 7 déc. 2018 à 21:42
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018 - 9 déc. 2018 à 10:32
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
A voir également:

3 réponses

danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
8 déc. 2018 à 15:12
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
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié le 8 déc. 2018 à 17:16
Bonjour

pour trouver la 1° ligne vide


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


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

Merci
0
danielc0 Messages postés 838 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 23 avril 2024 74
8 déc. 2018 à 17:34
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
Merci beaucoup
Je test ça demain a mon réveil
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
9 déc. 2018 à 03:30
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié le 9 déc. 2018 à 08:10
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