Copier/Coller de données dynamiques dans un graphique

Bonjour,

Je souhaiterai copier des données qui se trouve sur une feuille Excel et les coller dans un graphique de manière automatique. La difficulté et que les données prises sur la feuille "Feuil1" sont dynamique. Chaque mois, je masque la donnée du dessus et j'insère une ligne pour les données du mois actuel. Il faut donc que je copie ces nouvelles données dans le graphique de la "Feuil2".

J'ai fait un code VBA suivant mais il ne marche pas:

Sub Insérer_Données()

'

' Insérer_Données Macro

'

' Touche de raccourci du clavier: Ctrl+k

'

Sheets("Feuil1").Select

Range("MaPlage4").Select

Selection.Offset(-1, 3).Select

Selection.Offset(-1, 4).Select

Selection.Offset(-1, 5).Select

Selection.Offset(-1, 6).Select

Selection.Offset(-1, 7).Select

Selection.Offset(-1, 8).Select

Selection.Copy

Sheets("Tab. bord 2015_2016").Select

ActiveSheet.ChartObjects("Graphique 2").Activate

ActiveChart.Paste

End Sub

Je joint par la même occasion le fichier.

Merci d'avance pour votre aide

Amdora

Bonjour

Tu as oublié le fichier

Cordialement

Normalement tous es sur le même fichiers...

Voilà une nouvelle version

Merci

11vba-test2.xlsx (17.37 Ko)
9vba-test2.xlsx (17.37 Ko)

Bonjour

Ton graphe est issu d'un fichier Externe et ne peut-être mis à jour avec les données de la Feuil1 de ton fichier.

C'est sur le fichier externe qu'il faut agir en définissant les champs dynamiques sources du graphe.

Cordialement

Je viens de modifier le fichier

Merci beaucoup

Bonjour

Tu cliques sur le Bouton, tu saisis des données et tu vas voir les graphes (qui sont identiques au départ)

Voir aussi les formules nommées

Cordialement

11vba-test2.zip (17.44 Ko)

Merci beaucoup.

C'est exactement ça! Je vais essayer de le mettre dans l'autre fichier. Mais est ce que tu pourrais m'expliquer un peut ton code car je ne vois pas a quel moment est ce qu'il sélection le graphique.

Salutations

Amdora

Hello,

Suite à ton message, j'ai essayer de transposer le code dans mon autre fichier et la macro se met en mode "Débogage" et m'informe qu'il y a un souci avec la ligne ci-dessous.

ActiveSheet.ChartObjects("Graphique 2").Activate

Pourtant le nom du graphique est bien celui-ci. En transposant une macro dans un autre fichier, faut-il faire qqch. J'ai affecter la macro au graphique mais ça n'a pas suffit. Puis j'ai pensé qu'il fallait que j'active ma feuille au début du code mais ensuite il me renvoie le problème à la ligne ci-dessous:

Windows("Copie de fichiers 02 02 2015-Test.xsltm").Activate

Merci pour l'aide.

Amdora

Bonjour

Ce graphique adaptable (celui de droite dans la feuille) ne fonctionne pas avec VBA

Les formules nommées définissent les plages de données adaptables (Voir noms définis)

et les Noms définis sont utilisés pour définir les Séries du graphique.

Sur ce nouveau fichier joint, j'ai supprimé le Code du graphe

Cordialement.

22vba-test2.zip (16.46 Ko)

Hello,

Je m'excuse pour mon absence mais je ne pouvais pas répondre. Je vois que ton fichier marche très bien. Pourrais-tu me décrire ta façon de déterminer le champ dynamique dans le graphique. J'ai vu que t'as fait une matrice? Je ne suis vraiment pas très doué désolé.

Amdora

En fait, je crois que ce que je n'ai pas compris c'est les plage nommées en fonction de la colonne B. Que représente la variable "Derlign"?

Merci pour ton aide.

Bonjour

Derlign = Range("B65536").End(xlUp).Row + 1

= Dernière ligne remplie en colonne B, plus un.

soit l'endroit où tu veux placer ta nouvelle ligne.

Cordialement

Ce que je ne comprends pas c'est pk cette ligne ne fonctionne pas lorsque je l'implante dans mon fichier:

Derlign = Range("B65536").End(xlUp).Row + 1

Ca me dit soit que "Derlign = Range("B65536").End(xlUp).Row + 1=Faux" ou que Derlign = Vide!

Aurais tu une explication?

Bonjour

Tu as pourtant l'exemple dans le dernier fichier que j'ai envoyé.

Si tu as recopié, il faut ne pas oublier de déclarer la variable Derlign

Cordialement

En fait c'est que mon fichier contient énermément de données et que j'ai donc du le déclarer comme "Integer" et non comme "Byte".

Je te remercie infiniment pour ta patiente et pour ton aide . Mais pour terminer, si dans ce cas je n'ai pas que un tableau de donnée dans la Feuille 1 et pas qu'un graphique! Saurais-tu m'expliquer comment faire?

Bonjour

Tout dépendra de la disposition des tableaux et il faudra modifier le code d'insertion de ligne.

Pour les graphiques, pas de problème particulier puisqu'on peut utiliser un nombre de noms définis très important.

Cordialement

En fait, les tableaux sont disposés les uns en dessous des autres. Je me suis donc dit que je pourrais peut être faire un code comme ceci.

MaPlage24 = Range("B65536").End(xlUp).Row + 1

Selection.Insert Shift:=xlDown

Rows(MaPlage24).Offset(-13, 0).Select

Selection.EntireRow.Hidden = True

Range("B" & MaPlage24).Select

Le problème est qu'il faut donc que je change la valeur dans MaPlage24 = Range("B65536").End(xlUp).Row + 1. Pour qu'il prenne la valeur de la case MaPlage24. Que je ne modifie pas. De cette façon, il parcourerait la colonne jusqu'a tomber sur la case nommée MaPlage24. Comment je pourrais faire cela?

Bonjour

Dans cet exemple, une ligne est ajoutée, et tes formules sont incrémentées.

Cordialement

13vba-test3.zip (20.93 Ko)

Merci beaucoup pour ton idée,

mais serait-il pas possible d'automatiser ce système sans devoir chaque fois sélectionner la plage?

Hello,

J'ai essayer d'activer une cellule nommée "MaPlage24"et que ça me génère une ligne au-dessus ainsi que les données pour l'insérer dans le graphique de la deuxième feuille mais la je comprends rien. Voilà le code:

Sub Nouvelle_Ligne2()

Dim Derlign As Integer

Dim MaPlage24 As Range

ActivateCell.Name = "MaPlage24"

Selection.EntireRow.Insert

Range(MaPlage24).Offset(-13, 0).Select

Selection.EntireRow.Hidden = True

Range("B" & MaPlage24).Select

Derlign = Range("B65536").End(xlUp).Row + 1

Rows(Derlign).Select

Selection.Insert Shift:=xlDown

Rows(Derlign).Offset(-2, 0).Select

Selection.EntireRow.Hidden = True

Range("B" & Derlign).Select

End Sub

Peux-tu m'aider je suis vraiment pas très forte

Rechercher des sujets similaires à "copier coller donnees dynamiques graphique"