Problème de concaténation dans VBA

Résolu
Signaler
Messages postés
5
Date d'inscription
jeudi 18 février 2010
Statut
Membre
Dernière intervention
26 février 2010
-
Messages postés
5
Date d'inscription
jeudi 18 février 2010
Statut
Membre
Dernière intervention
26 février 2010
-
Bonjour

J'ai un petit problème de concaténation dans mon code VBA, ce qu'il me renvoie me crée une erreur dans la cellule de destination.

ActiveCell.FormulaR1C1 = "=" & TextBox_Ref_New_Prod.Value & "!B1"

Et dans la cellule il m'écrit : ='100015Y06'!'B1'
Au lieu de : ='100015Y06'!B1

Je ne veux pas des (') de chaque côté de B1.

(TextBox_Ref_New_Prod.Value renvoie au nom d'une feuille qui vient d'être créée, ici la feuille a été appelé 100015Y06)

Merci pour votre aide

6 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Non, Excel n'est pas c..
Il suffit d'utiliser les bonnes propriétés :

FormulaR1C1, comme sont nom l'indique, est sensé recevoir des formules au format R1C1, c'est à dire en désignant les lignes (R) et colonnes (C) par des chiffres : B1 --> R(1)C(2)

En utilisant Formula, on peut utiliser la formulation avec le nom de colonne sous forme de lettre B1

En mettant B1 dans un FormulaR1C1, B1 ne répondant pas à la bonne syntaxe, il est considéré comme le nom personnalisé d'un Range, d'où l'ajout des '

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Utilise plutôt une mélange de deux formules EXCEL pour faire ce que tu veux, ça sera plus simple.

=INDIRECT(ADRESSE(1;2;;;"100015Y06"))

Molenn
Messages postés
5
Date d'inscription
jeudi 18 février 2010
Statut
Membre
Dernière intervention
26 février 2010

Il semblerait qu'il y ait un problème dans ta formule, il me renvoie un message d'erreur sur le ";" situé entre 1 et 2...

"Erreur de compilation - Attendu, séparateur de liste ou ) "
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Ca dépend je pense où tu rentres ta formule, parce qu'EXCEL est très c... pour ça

Il faut mettre des ";" si tu écris la formule dans une cellule de ta feuille EXCEL.
Par contre, lorsque tu passes en VBA, il faut mettre des ",".
De la même façon, suivant ta version d'EXCEL et la propriété que tu vas utiliser, tu vas peut-être devoir mettre la formule Internationale et non française.
Le plus simple, Enregistreur de macro et tu écris une fois la formule dans ta cellule, tu auras la syntaxe

Molenn
Messages postés
5
Date d'inscription
jeudi 18 février 2010
Statut
Membre
Dernière intervention
26 février 2010

Ok ça va mieux, mais ça bloque sur la fonction ADRESSE, c'est une fonction d'origine? ou bien ajoutée?

Et sinon une idée de pourquoi ma concaténation ne marche pas?

En tout cas merci de te pencher sur mon problème Molenn
Messages postés
5
Date d'inscription
jeudi 18 février 2010
Statut
Membre
Dernière intervention
26 février 2010

Merci Jack !
Maintenant ça marche, et surtout j'en sais un peu plus !