Macro copier/coller

Bonjour,

Dans un onglet, je possède un tableau sans nom, juste des lignes et colonnes renseignées, et un autre tableau qui possède un nom.

A partir du premier, je réalise une courbe. Le second est un copier/coller du premier qui me permet de faire une réorganisation du plus grand au plus petit selon la première colonne. Ainsi, je peux obtenir une seconde courbe à partir du tableau qui possède un nom.

J'ai donc créé une macro qui me permet de faire ce copier/coller et ce tri afin de mettre à jour instantanément la seconde courbe en cliquant sur une forme insérée.

Jusque là, aucun problème. J'obtiens ce code :

Sub MAJ_Graphique()

' MAJ_Graphique Macro

 Application.ScreenUpdating = False 'Supprime la mise à jour de l'affichage entre chaque opération, et diminue considérablement le temps de la macro

    Range("C4:H368").Select
    Selection.Copy

    Range("J4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

    ActiveWorkbook.Worksheets("Courbe V3").ListObjects("Tableau1367").Sort. _
        SortFields.Clear
    ActiveWorkbook.Worksheets("Courbe V3").ListObjects("Tableau1367").Sort. _
        SortFields.Add Key:=Range( _
        "Tableau1367[[#All],[Besoins sortie chaufferie kWh]]"), SortOn:= _
        xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Courbe V3").ListObjects("Tableau1367").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

    Range("Q8").Select

End Sub

Mon problème est le suivant, je fais de nombreuses autres versions de cet onglet. Vous pouvez voir, "Courbe V3" dans le code VBA, et bien je peux faire un onglet "Courbe V4" en copier/coller du "Courbe V3". Le problème est que le code reste le même. Comment faire pour qu'il s'adapte du certaine manière à "Courbe VX" où X étant un chiffre ?

Le problème est le même (voir plus compliqué) pour le nom du tableau qui change, par exemple de "Tableau1367" à "Tableau13674".

Merci pour votre lecture.

Cordialement.

Bonjour

Cordialemenent

Et voilà

Bonjour skyliniste, bonjour le fil, bonjour le forum,

Deux autres points à vérifier :

- Tu as une tonne de champs nommés ... d'une feuille à l'autre, est-ce qu'ils doivent tous pointer sur les plages de cellules, des mêmes feuilles, des mêmes fichiers (en gros sur les mêmes références) ?

- Excel a une vilaine restriction concernant les graphiques ... Ils ne peuvent pas être placés en mémoire virtuelle, ils doivent être en mémoire vive. Ainsi, le nombre de graphiques dans un ou plusieurs fichiers Excel ouverts simultanément est limité par la quantité de mémoire vive de l'ordinateur. À moins que Microsoft ait corrigé cette restriction récemment.

Joseph

Bonjour Jospeh,

Chaque onglet est indépendant, aucun ne fait référence à un autre.

Cordialement.

Bonjour skyliniste, bonjour le fil, bonjour le forum,

Je ne pense pas avoir toute l'info nécessaire et je ne suis qu'un autodidacte en vba sur une base récréative.

La macro "MAJ_Graphique" est maintenant dynamique ... adaptée à la feuille active.

Un nouveau bouton ajoute un onglet (copie de "Courbe V1") et en change de nom. Elle renomme aussi le tableau pensant, à tort ou à raison (lire Raymond Devost sur ce sujet), que le même nom sur chacun des onglets pouvait poser problème. La macro "MAJ_Graphique" tient compte de ce nom variable.

Lors de l'ajout d'un onglet, treize fois on est avisé qu'un certain nom existe déjà.

__123Graph_ach

__123Graph_ACLIENTS

__123Graph_AECS

__123Graph_BCH

__123Graph_BLCIENTS

__123Graph_BECS

__123Graph_XCH

__123Graph_XCLIENTS

__123Graph_XECS

_Fil

_Key1

_Key2

_Sort

À date, je dis toujours Oui ne sachant pas qu'elle en est l'implication exacte.

Sur ce, voici la version à tester.

Joseph

Rechercher des sujets similaires à "macro copier coller"