Supprimer Guillemets String

Résolu/Fermé
Rob - 16 août 2021 à 07:51
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 - 16 août 2021 à 14:17
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

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 929
16 août 2021 à 08:10
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
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 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
Modifié le 16 août 2021 à 08:53
'ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data! $IndicePreColon$&26:$AH$26" 
ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data!" & IndicePreColon & "26:AH26"
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 929
Modifié le 16 août 2021 à 08:54
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
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 929
16 août 2021 à 08:56
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
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 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
16 août 2021 à 14:16
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 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
16 août 2021 à 14:17
utiliser select est, presque toujours, une mauvaise pratique.
0