Supprimer Guillemets String

Résolu
Rob -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrais actualiser la liste de données d'un graphique.
J'ai une variable IndicePreColon (="AA"), je voudrais que mon code:
ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data! $IndicePreColon$&26:$AH$26" puisse lire uniquement AA et non "AA" .

Deja essayé avec IndicePreColon = Replace(IndicePreColon, Chr(160), ""), mais sans succès.

Merci d'avance pour votre aide.
A voir également:

4 réponses

Utilisateur anonyme
 
Bonjour

IndicePreColon = Replace(IndicePreColon, Chr(160), "")
ne peut pas fonctionner car les guillemets ne font pas partie de la valeur de la string.
Il ne servent qu'à borner la valeur, pour que tu puisses lire le code aisément mais aussi pour que le compilateur sache quand commence la string et quand elle s'arrête.

Pour un nombre c'est facile,
nombre = 123.45
là par exemple, ça commence à l'espace et ça finit au saut de ligne, mais une string peut contenir des espaces et des saut de lignes. Il a donc fallu normaliser un caractère de bornage.

Ton problème c'est qu'on ne construit pas un range de cette façon en VBA.
https://forums.commentcamarche.net/forum/affich-17227322-vba-range-avec-references-variables
0
Rob
 
Bonjour Whismeril,

Merci bcp pour ton retour, je visualise bien l'erreur.
J'ai du coup une autre question pour être entièrement débloqué,

Comment puis je intégrer ce Range dans ActivateChart?

ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data! Range(IndicePreColon & RowX & ":" & IndiceDerColon & "26")"

Ne fonctionne pas,

Merci d'avance,

Rob
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
'ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data! $IndicePreColon$&26:$AH$26" 
ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data!" & IndicePreColon & "26:AH26"
0
Utilisateur anonyme
 
Je ne code pas assez bien en vba pour te répondre de tête et je n'ai pas office sous la main pour essayer.

Cela dit pour moi, le nom de la feuille fait partie du range.
Si j'en crois cette discussion https://www.developpez.net/forums/d1154751/logiciels/microsoft-office/excel/macros-vba-excel/vba-utiliser-nom-feuille-variable/

Tu dois pouvoir écrire un truc du genre
ActiveChart.FullSeriesCollection(1).XValues = Weekly_Data.Range(IndicePreColon & RowX & ":" & IndiceDerColon & "26")


0
Utilisateur anonyme
 
Sinon regarde là, https://lite.qwant.com/?q=vba+set+series+ton+chart+by+code&client=opensearch
J'ai parcouru rapidement, il semble y a avoir des sujets résolus et donc de quoi t'inspirer
0
Rob
 
Super ca m'aide beaucoup!

Sais tu me dire pourquoi ceci ne fonctionne pas:

Set ListeX = Sheets("Weekly_Data").Range(Cells(26, DebutColonY), Cells(26, DerColonY)).Select

et du coup j'aurai
ActiveChart.FullSeriesCollection(1).XValues = ListeX
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
bonjour, tu montres un code, tu écris qu'il ne fonctionne pas, sans nous expliquer ni ce que tu observes (message d'erreur?), ni, surtout, ce que tu souhaites réaliser.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
utiliser select est, presque toujours, une mauvaise pratique.
0