Supprimer Guillemets String

Résolu
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.

4 réponses

  1. 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
    1. 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
      1. Modérateur
        'ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data! $IndicePreColon$&26:$AH$26" 
        ActiveChart.FullSeriesCollection(1).XValues = "=Weekly_Data!" & IndicePreColon & "26:AH26"
        
        0
    2. 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
    3. 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
      1. Contributeur Ambassadeur
        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
      2. Contributeur Ambassadeur
        utiliser select est, presque toujours, une mauvaise pratique.
        0