Macro actualisation tableau

Bonjour,

J'aurai besoin d'un peu d'aide pour réaliser une macro pour actualiser un tableau

J'ai dans mon onglet 1 un tableau avec des données brut que je copie/colle d'un système interne. Chaque ligne du tableau représente un projet dans mon cas.

Dans mon onglet 2, j'ai un autre tableau qui reprend les données brut du tableau 1 et les mets en forme pour analyse. Il y a également un partie du tableau qui est remplie manuellement par l'utilisateur pour ajouter des données.

Pour mettre a jour cet outil, l'utilisateur remplace les données du tableau 1 par les nouvelles données. Cette manipulation de supprime pas de données, elle ne fait que rajouter les nouveaux projets.

J'aimerai créer un macro avec un bouton pour que le tableau de l'onglet 2 rajoute automatiquement les nouveaux projets qui sont present dans le tableau 1. Quelqu'un a-t-il une idée ?

Merci !

9test-1.xlsx (9.33 Ko)

Bonjour,

Est-ce-que la Source est bien l'onglet ' Données brutes ' ...?

Oui !

Re,

Entendu ...

Ci-joint ton fichier test ...

Il te suffit de saisir tes données dans la Colonne A, puis Colonne B et enfin Colonne C

En espèrant que cela t'aide

16test-guillaume.xlsm (15.92 Ko)

C'est exactement ça ! merci beaucoup

C'est exactement ça ! merci beaucoup

De rien ...

Merci pour tes remerciements

Dernière précision, est-il possible que la macro fonctionne a partir du moment ou la première cellule est renseigne (dans mon cas numéro du projet) ? Dans mon fichier de travail, j'ai 10 colonnes a reprendre mais il peux s’avérer qu'il n'y est pas de données pour les 2 dernières colonnes. J'ai essaye d'adapter ta macro mais je suis pas vraiment sure de mon coup .

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub

If Target.Column <> 10 Then Exit Sub

Dim der As Long

der = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row + 1

With Target

Sheet2.Cells(der, 1).Value = Sheet1.Cells(.Row, 1).Value

Sheet2.Cells(der, 2).Value = Sheet1.Cells(.Row, 2).Value

Sheet2.Cells(der, 3).Value = Sheet1.Cells(.Row, 3).Value

Sheet2.Cells(der, 4).Value = Sheet1.Cells(.Row, 4).Value

Sheet2.Cells(der, 5).Value = Sheet1.Cells(.Row, 5).Value

Sheet2.Cells(der, 6).Value = Sheet1.Cells(.Row, 6).Value

Sheet2.Cells(der, 7).Value = Sheet1.Cells(.Row, 7).Value

Sheet2.Cells(der, 8).Value = Sheet1.Cells(.Row, 8).Value

Sheet2.Cells(der, 9).Value = Sheet1.Cells(.Row, 9).Value

Sheet2.Cells(der, 10).Value = Sheet1.Cells(.Row, 10).Value

End With

End Sub

Re,

Ce que tu demandes est possible ...

Pour que la macro se déclenche au moment où tu saisis le N° du Projet en Colonne A, tu as besoin d'avoir

If Target.Column <> 1 Then Exit Sub

Mais ... soyons bien clair ... tu dois d'abord saisir toutes les données de toutes tes colonnes en conservant la Colonne A vide ...

car, au moment où tu vas saisir le N° ... la copie de toute la ligne va être effectuée ...

En espèrant que cela t'aide

Je vais mettre en colonne 1 un " X " que l'utilisateur "tirera" quand il aura terminer de copier les données. Ça me permettra de contourner le problème. Le dernier souci est que le macro ne se lance pas lors d'un copier/coller ou lorsque l'on "tire" une valeur. La valeur doit obligatoirement être rentrée manuellement dans la cellule.

Un moyen de contourner ceci ? Sinon le plus simple ne serait-il pas de rattacher la macro a un bouton cliquable sur mon tableau de bord du même fichier (onglet 3)?

Re,

On peut tout imaginer en matière de déclenchement ...

Tu peux ajouter une douzième colonne avec un Oui/Non ...

Tu peux vouloir une copie effectuée immédiatement avec la macro évènement ... ou tu peux avoir un traitement batch ...

C'est le confort de l'utilisateur qui doit primer ...

Le plus intéressant serait alors de faire fonctionner la macro avec le bouton dans mon cas. Cela éviterait des erreurs de la part de l'utilisateur. Peux tu m'aider a affecter la macro ? J'ai teste sans réussite...

Rechercher des sujets similaires à "macro actualisation tableau"