Syntaxe Range Variable

Résolu/Fermé
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011 - 3 févr. 2011 à 15:02
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011 - 3 févr. 2011 à 15:52
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

Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 294
3 févr. 2011 à 15:30
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
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 294
3 févr. 2011 à 15:35
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
Nicoroth Messages postés 54 Date d'inscription vendredi 22 juin 2007 Statut Membre Dernière intervention 9 février 2011
3 févr. 2011 à 15:52
Merci mon cher bidouilleur,

ca marche nikel
0