USF - Copier graphique et changer sa plage

  • Initiateur de la discussion Initiateur de la discussion Int0x
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Int0x

XLDnaute Occasionnel
(re)bonjour le forum,

J'ai commencé un fichier qui permet de suivre plusieurs petits projets, chacun illustré par un diagramme de Gantt. Rien de bien exceptionnel, juste quelques taches avec une durée associée qui débouchent sur le diagramme.

Le fichier que je vous ai joint présente 2 projets A et B, qui occupent un espace de 24 lignes chacun (visuellement).

Je souhaiterais, via USF, pouvoir ajouter des projets les uns à la suite des autres. En gros, une fois l'usf remplit, il irait:
  • nommer le projet, sous le même format qu'au dessus
  • copier le tableau (formules) et modifier en fonction des saisies
  • copier le graphique et changer les plages de données par celles du nouveau tableau

En gros, recopier la même chose qu'au dessus, où seules quelques infos du tableau et la plage de ce dernier changent.

Je ne sais pas comment réaliser tout cela (doit-on préparer un onglet trame ? ou plutot prendre celui du dessus ? etc...). Je suis donc ouvert à toute idée, suggestion, critique, remarque, & cie !!

Par avance merci pour le temps que vous passerez sur mon problème,
Int0x 🙄

Question bonus: je souhaiterais également ajouter une ligne verticale qui représenterait la date du jour. Comment puis-je insérer ce genre de courbe sur mon graph ?
 

Pièces jointes

Dernière édition:
Re : USF - Copier graphique et changer sa plage

Bonjour tdenfert,

Effectivement, ce n'est pas tout à fait ce que je recherche mais c'est une idée qui serait à creuser si ma demande s'avère trop complexe. Néanmoins, ça serait intéressant si cette macro renvoyait vers la dernière ligne non vide de B +17.

Merci en tout cas 🙂
Ma demande reste d'actualité, en ajoutant une possibilité d'optimisation de la proposition de tdenfert 😱
 
Re : USF - Copier graphique et changer sa plage

J'ai réussi à répondre à ma question bonus (ce fût très laborieux, mais ça fonctionne).
Cependant, le problème principal reste d'actualité ! Comment ajouter des projets rapidement et simplement (par usf, idéalement) ? 🙄
 

Pièces jointes

Re : USF - Copier graphique et changer sa plage

Bonjour,

Je crois que le code pour changer une plage d'un graphique est le suivant:

Code:
ActiveChart.SeriesCollection(1).Values = "=PLM!R109C3:R113C3"
    ActiveChart.SeriesCollection(2).Values = "=PLM!R109C6:R113C6"
    ActiveChart.SeriesCollection(3).Values = "=PLM!R109C7:R113C7"
    ActiveChart.SeriesCollection(4).XValues = "=PLM!R109C8:R113C8"
    ActiveChart.SeriesCollection(4).Values = "=PLM!R109C9:R113C9"

PLM étant le nom de l'onglet.
Du coup, je pourrais déjà faire une macro qui irait:
  • copier le tableau et le graphique depuis un onglet trame,
  • coller le tout à la 17ème cellule en dessous de la dernière non vide (colonne B)
  • modifier la plage du tableau

Du coup, mes nouvelles questions:
  • comment se positionner sur la 17ème cellule en dessous de la dernière non vide d'une colonne ?
  • comment rendre la partie fixe de mon code (entre guillement) variable ?
(quel code écrire pour que "=PLM!R109C3:R113C3" devienne =activebook raw(dernière-cellule-non-vide+20) colC3: raw(dernière-cellule-non-vide+24) colC3 ?)

Bien entendu, je suis ouvert à toute autre remarque / aide / conseils, je cherche juste de trouver un truc qui pourrait faire l'affaire.

Par avance merci,
Int0x
 
Re : USF - Copier graphique et changer sa plage

Je continue mon monologue 😱

J'ai un peu avancé, avec une macro qui est à tous les coups optimisable (j'ai cru comprendre que les .select étaient normalement rares pour plus de fluidité):

Code:
Sub Macro3()
'
    Sheets("Trame").Select
    Range("B6:Q26").Select
    Selection.Copy
    Sheets("PLM").Select
    Range("B" & Range("B65536").End(xlUp).Row + 17).Select
    ActiveSheet.Paste
  
End Sub

Il faut maintenant que je réussisse à intégrer le changement de plage sur mon graphique.
Code:
ActiveChart.SeriesCollection(1).Values = "=PLM!R109C3:R113C3"
ActiveChart.SeriesCollection(2).Values = "=PLM!R109C6:R113C6"
ActiveChart.SeriesCollection(3).Values = "=PLM!R109C7:R113C7"
ActiveChart.SeriesCollection(4).XValues = "=PLM!R109C8:R113C8"
ActiveChart.SeriesCollection(4).Values = "=PLM!R109C9:R113C9"

Par la suite je pourrais intégrer l'USF.

Des idées ? 🙁
 
Re : USF - Copier graphique et changer sa plage

J'ai un peu avancé, avec une macro qui est à tous les coups optimisable (j'ai cru comprendre que les .select étaient normalement rares pour plus de fluidité):

Code:
Sub Macro3()
'
    Sheets("Trame").Select
    Range("B6:Q26").Select
    Selection.Copy
    Sheets("PLM").Select
    Range("B" & Range("B65536").End(xlUp).Row + 17).Select
    ActiveSheet.Paste
  
End Sub

Je suppose que c'est déjà plus "pro" comme ça 😱
Code:
Sub Macro3()
    Sheets("Trame").Range("B6:R13").Copy
    Range("B" & Range("B65536").End(xlUp).Row + 4).Select
    ActiveSheet.Paste
    Range("B" & Range("B65536").End(xlUp).Row - 6).RowHeight = 12
    Range("B" & Range("B65536").End(xlUp).Row - 5).RowHeight = 15
End Sub

(j'ai rajouté 2 ajustements de taille de lignes, déformées par un caractère spécial)
 
Re : USF - Copier graphique et changer sa plage

Bonjour le forum,

Demande toujours d'actualité ! Comment modifier ma plage de graph automatiquement ? 🙁
(heureusement que je ne fais pas un one man show, ça serait un vrai bide là ! 😱 )
 
Re : USF - Copier graphique et changer sa plage

Bonjour le forum,

Problème toujours d'actualité.
Comment remplacer
Code:
ActiveChart.SeriesCollection(1).Values = "=PLM!R109C3:R113C3"
par cette plage
Code:
Range("C" & Range("C65536").End(xlUp).Row - 4 & ":C" & Range("C65536").End(xlUp).Row)
?

Par avance merci,
Int0x 😱
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour