Ajouter du texte dans une cellule avec formule

Résolu
Bonjour à tous,

Je me heurte à un petit souci de présentation. J'importe une formule dans une cellule. Jusque là, tout va bien.
ActiveCell.Formula = "=" & Range(ValeurCherche1).Offset(-6, 0).Address

Par contre, si je souhaite ajouter du texte, en suivant pourtant les exemples trouvés sur le net, j'ai l'erreur 1004, erreur définie par l'application ou par l'objet.
ActiveCell.Formula = "=""Réf "" & Range(ValeurCherche1).Offset(-6, 0).Address"

Je ne vois pas l'erreur que j'ai pu commettre et vous remercie par avance pour votre aide

Configuration: Windows / Firefox 94.0

5 réponses

  1. Bonjour,
    Après de nombreuses recherches et tests, j'ai fini par trouver la solution, en passant par R1C1 plutôt que range ou cells, avec lesquels je n'arrivais à rien.
    ActiveCell.Formula = "=""(Réf. "" & R" & RepRow & "C" & RepCol & " & "")"""

    Comme toujours, c'est tout simple quand on sait, même si la gestion des guillemets n'est pas évidente.

    Comme je n'ai pas la possibilité de mettre cette question en "résolu", merci d'avoir la gentillesse de le faire.
    1
    1. Contributeur
      Je pense qu'il manquait surtout un
      &
      dans la formule.
      -1
  2. Contributeur
    bonjour,
    qu'essaies-tu d'obtenir en ajoutant du texte à une formule?
    tu nous montres un code qui ne fonctionne pas, sans nous expliquer le résultat que tu cherches à atteindre.
    0
    1. Bonjour,
      Merci d'avoir lu ma question.
      Je cherche simplement à ajouter du texte dans une cellule qui affiche le contenu variable (d'où besoin d'une formule) d'une cellule source , afin que cela soit plus "lisible". Au lieu d'avoir, par exemple, 2024, je veux avoir Réf. 2024.
      Le code qui ne fonctionne pas semble pourtant respecter ce que j'ai trouvé comme exemple. Je suis en 64bits. Je ne sais pas si cela a une incidence.
      0
      1. Contributeur
        Avant de faire cela en VBA, commence par écrire et tester la formule qui te donne le résultat attendu, directement dans Excel.
        0
    2. Modérateur
      Tu as un souci de concaténation et de guillemets...
      Et c'est un truc du genre :
      ActiveCell.Formula = "=" & """Réf """ & Range(ValeurCherche1).Offset(-6, 0).Address

      0
      1. Bonjour à tous les deux et merci pour vos réponses.
        Cependant, yb, désolé de le dire, mais vous n'apportez pas grand chose. Manifestement, vous ne connaissez pas cette fonction, donc, dans ce cas, le silence est d'or.
        Jordane, vous avez raison, c'est effectivement un problème de guillemets. J'ai testé votre solution mais elle ne fonctionne malheureusement pas. Je pense que mon erreur vient des guillemets avec l'intégration de valeurs variables. Si je ne mets pas de variable, le texte s'ajoute à la formule sans problème. L'enregistreur de macro m'avait d'ailleurs donné la solution.
        Donc, ma question est : comment intégrer les données variables ?
        0
        1. Contributeur
          Travaille d'abord dans Excel, sans VBA, pour obtenir la formule que tu veux obtenir, sans partie variable. Cela t'aidera à comprendre comment ajouter du texte dans une formule.

          Ce n'est pas la partie variable qui pose problème. Le problème principal, c'est que tu n'as pas compris comment ajouter du texte dans une formule.

          Tu as d'abord un soucis avec la syntaxe des formules, ensuite un soucis avec la syntaxe VBA.
          0
        2. Contributeur
          tu peux aussi afficher la formule, afin de t'aider à comprendre ce qui se passe:
          msgbox "=" & """Réf """ & Range(ValeurCherche1).Offset(-6, 0).Address
          0