Syntaxe Range Variable

Résolu
Nicoroth Messages postés 55 Statut Membre -  
Nicoroth Messages postés 55 Statut Membre -
Salut a tous,

Je suis en train de créer des graphiques en passant par VBA.
J'ai un petit souci de syntaxe sur mon range qui est variable.
J'ai essayé, je crois, presque toutes les possibilités:

Dim Coord As Variant
Coord = "Sheets("Calcul").Range(cells(q,15),cells(q,16))"
Ou
Coord ="Sheets("Calcul").Range("O"&q:"P"&q)"
Voir
Coord ="Sheets("Calcul").Range("O"&q&":P"&q)"
Ou encore
Coord= "=Calcul!$O$q:$P$q"

'Où q est ma variable
'Dans le but d'avoir:

ActiveChart.SetSourceData Source:=Coord

Le probleme est que lorsque je lance la macro, elle ne reconnait pas q comme un variable dans cette expression.

Si qqn a une idée, je l'en remercie.

Nico

2 réponses

  1. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    Allez on se décourage pas c'était presque ça!
    un petit exemple
    pour une plage de B5 à D10

    Sub test()
    Dim NbLigne as integer
    Dim NbCol as integer
    
    Sheets("feuil1").Select
    Range("B5").Select
    NbLigne = Range("B5").CurrentRegion.Rows.Count
    NbCol = Range("B5").CurrentRegion.Columns.Count
    
    Range("B5").Resize(NbLigne, nbcol).Select  ' 1ere solution
    Range("B5").Select       ' retour au départ
    Range(Cells(5, 2), Cells(10, 4)).Select   ' 2ème solution ... j'ai fais durer le suspens :- )
    
    
    End Sub
    0
    1. Bidouilleu_R Messages postés 1209 Statut Membre 296
       
      un petit détail...

      Tu peux aussi écrire
      Dim Coord As Range
      Set Coord = Range(Cells(5, 2), Cells(10, 4)) ' que tu peux paramétrer
      ou
      Set Coord = Range("B5").Resize(NbLigne, nbcol)
      0
  2. Nicoroth Messages postés 55 Statut Membre
     
    Merci mon cher bidouilleur,

    ca marche nikel
    0