Récupération valeur textbox dans formule

  • Initiateur de la discussion Initiateur de la discussion mvcs
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mvcs

XLDnaute Nouveau
Bonjour,
J'ai créé un petit utilitaire tout simple pour comparer les cellules de deux versions d'un classeur Excel.
Dans une feuille vierge, je lance un formulaire avec 4 TextBox dans lequel l'utilisateur saisit :
TextBox1 - ClasseurVersion1.xls
TextBox2 - Feuille1 du ClasseurVersion1
TextBox3 - ClasseurVersion2.xls
TextBox4 - Feuille1 du ClasseurVersion2
Ensuite j'ai un bouton qui, au clic, lance un module où il y a une formule que je copie sur les cellules à comparer.
Je n'arrive à trouver comment récupérer les valeurs de ces TextBox dans cette formule suivante (en gras) :
=SI('C:\chemin d'accès\[TextBox1]TextBox2'!A1='C:\chemin d'accès\[TextBox3]TextBox4'!A1;"O";"N")
Elle permet de visualiser dans quelles cellules se trouvent les différences, là où il y a un "N"
Merci pour votre aide.
Cordialement
 
Bonjour,

A vue de nez, à tester:

VB:
Dim formule As String
formule="=IF('C:\chemin d'accès\[" & TextBox1.Value &"]" & TextBox2.value & _
            "'!A1='C:\chemin d'accès\[" & TextBox3.value & "]" & _
                TextBox4.Value & "'!A1;""O"";""N"")"
range("A1").Formula = formule
OU
VB:
formule = Replace("=IF('C:\chemin d'accès\[TextBox1]TextBox2'!A1='C:\chemin d'accès\[TextBox3]TextBox4'!A1;""O"";""N"")", "TextBox1", TextBox1.Value)
formule = Replace(Replace(Replace(formule, "TextBox2", TextBox2.Value), "TextBox3", TextBox3.Value), "TextBox4", TextBox4.Value)
Range("A1").Formula = formule

Bonne après-midi
 
Merci Roblochon pour cette réponse rapide.
J'ai essayé la première solution. La première ligne pour constituer la formule avec les données TextBox fonctionne bien mais ça bloque à la deuxième ligne.
Il me dit : Erreur d'exécution '1004' : Erreur définie par l'application ou par l'objet.
PS : j'aime bien votre pseudo (je suis de Haute-Savoie) à part que c'est Reblochon mais j'imagine que c'est un clin d'œil 😉
 
Re Bonjour,

Je ne peux pas vous venir en aide sur simple constat d'accident de macro. Il faut nous faire parvenir le véhicule (fichier exemple) car nos experts ne se déplacent pas.

A vous relire

P.S Reblochon est une AOC depuis 1958 (mon année de n'aissance) puis AOP Roblochon ne l'est pas à ma connaissance 🙂
 
Re Bonsoir,

Avec plus de vigilance j'aurais pu voir qu'il fallait remplacer les ";" de la formule par des ",".....

Soit (qui fonctionne):

VB:
Private Sub CommandButton1_Click()
Dim formule As String
formule = "=IF('C:\Users\Desktop\[" & TextBox1.Value & "]" & TextBox3.Value & _
            "'!A1='C:\Users\Desktop\[" & TextBox2.Value & "]" & _
                TextBox4.Value & "'!A1,""O"",""N"")"
Range("A1").Formula = formule
Range("A1").AutoFill Destination:=Range("A1:A300"), Type:=xlFillValues
Range("A1:A300").Select
Selection.AutoFill Destination:=Range("A1:DE300"), Type:=xlFillValues
Range("A1").Select
Unload UserForm1

Bonne soirée
 
Mais oui bien sûr et j'aurais pu le voir aussi. Des ";" dans excel mais des "," dans VBA !
Le pire est que je m'étais déjà fait piégé une fois et je n'y ai plus pensé ...
En tout cas merci bien et je penserai à vous lors de ma prochaine tartiflette 🙂
Bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour