MaJ de la plage de graphique

Bonjour,

Je cherche à mettre à jour ma plage de données de mon graphique à l'ajout d'une colonne.

J'ai ce qu'il me faut pour identifier ma dernière colonne avec des variables

Mais ma macro bloque sur cette linge :

ActiveChart.SetSourceData Source:=Sheets("DETAIL & HISTORIQUE").Range("A20:co&i")

C'est la partie co&i que bloque, je ne comprends pas bien comment la mettre en forme.

Cependant avec un MsgBox co&i j'ai bien la cellule que je vise. "G26" et si je remplace Range("A20:co&i") par Range("A20:G26") ma macro parfaitement.

Merci pour votre aide.

Dim dct As String, co As String, i As Integer
    i = 26 'dernier ligne du tableaux de data graph, a changer si on ajoute une serie ou déplace le tableau
    dct = Sheets("DETAIL & HISTORIQUE").Range("A" & i).End(xlToRight).Address
    co = Split(dct, "$")(1)
    co = co
   'Ne fonctionne pas 'Sheets("DETAIL & HISTORIQUE").Range("A20:co & i").Select
Sheets("Graphique").Select
    ActiveChart.ChartArea.Select
    ActiveChart.SetSourceData Source:=Sheets("DETAIL & HISTORIQUE").Range("A20:co&i")

Bonjour

Comme ceci

ActiveChart.SetSourceData Source:=Sheets("DETAIL & HISTORIQUE").Range("A20:CO" & i)

Cdlt

Bonjour à tous,

@arturo, je crois bien ici que la variable s'appelle co&I.

Du coup, il faudrait adapter ton code pour que ça fonctionne.

(on est d'accord, ce n'est pas une bonne idée de nom de variable ^^)

Bonjour Arturo83,

merci de ta réponse.

Cela ne me prends pas ma variable "co" mais la Colonne CO. (tester avec et sans majuscule)

Je viens test en plus de change le non de ma variable avec un "co1" et "co_1" mais cela ne fonctionne pas non plus. (avec un petit plantage en prime ;) )

Bonjour JoyeuxNoel,

Enfaite j'ai 2 variable, "co" maintenant "co_1"qui retourne "G" et la variable i = 26 et je veux en faire la cellule G26, d' où le &.

Merci pour votre aide

Ah! je croyais qu'il s'agissait de la colonne "CO".

si CO est une variable alors essayez ceci

ActiveChart.SetSourceData Source:=Sheets("DETAIL & HISTORIQUE").Range("A20:" & CO & i)

ou comme ceci

ActiveChart.SetSourceData Source:=Sheets("DETAIL & HISTORIQUE").Range(Cells(20, "A"), Cells(i, CO))

Bonjour,

Merci beaucoup ! Cette syntaxe fonctionne.
ActiveChart.SetSourceData Source:=Sheets("DETAIL & HISTORIQUE").Range("A20:" & CO & i)
J'ajoute une corde de plus a mon arc ;)
Rechercher des sujets similaires à "maj plage graphique"