Résultat de userform dans une cellule spécifique d'un document spécifique

  • Initiateur de la discussion Initiateur de la discussion Ouin-Ouin
  • 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 !

O

Ouin-Ouin

Guest
Bonjour à tous et bon appétit,

avec votre aide nous sommes arrivés jusqu'à un certain point de l'application maintenant ce que j'ai besoin de faire c'est:

ajouter le résultat qui se trouve dans des textbox d'un userform automatiquement dans une cellule dans un document excel pré établi
qui est un fichier à part

j'éspère que je vous coupe pas l'appétit
bon après-midi
Ouin-Ouin
 
Salut OuinOuin, le Forum

Il te suffit d'un code comme ceci, à condition que le Classeur "TheBook.xls" soit bien ouvert au moment de l'éxécution de cette macro. (sinon faire une recherche pour savoir comment ouvrir un fichier avec VBA)

Private Sub CommandButton1_Click()
Dim WB As String, WS As String, WR As String

WB = "TheBook.xls"
WS = "TheSheet"
WR = "A1"

Workbooks(WB).Worksheets(WS).Range(WR) = TextBox2
End Sub


Bon Café !!
@+Thierry
 
Merci Thierry,
je vais essayer cela mais... je vous aime bien vous quand vous dites il suffit de... pour nous (moi) néophite à ce niveau

ce que je pige pas très bien voir pas du tout c'est comment le userform va mettre les données dans chaque case du fichier séparé

merci de tes éclaircissements
Ouin-Ouin
 
Ok j'ai pigé après un bon café ( tunisien )

petit hic:
le chiffre ( en l'occurence ) est bien arrivé dans mon document mais il me le faut au format:.000 (100.000)

deuxième petit hic:
on verra ensuite

P.S.

comment mettre un gif en bas de mes messages pour vous montrer que j'ai le sourire en travaillant sur le forum

merci merci de votre aide fort apprécié
Ouin-Ouin
 
Bonjour le forum
Bonjour Ouin-Ouin
Bonjour Thierry

Workbooks(WB).Worksheets(WS).Range(WR) = TextBox2.value = Format(TextBox2.Value, "# ###.000")

Pour la 2ème question, il y a de nombreuses explications sur ce forum (Moteur de recherches)
@ ++ Eric C
 
Hello Eric, re OuinOuin

Je m'y prendrai plutôt comme ceci :

Private Sub CommandButton2_Click()
Dim WB As String, WS As String, WR As String
Dim TheNum As Double

If Not IsNumeric(TextBox2) Then Exit Sub

TheNum = TextBox2.Value

WB = "TheBook.xls"
WS = "TheSheet"
WR = "A1"

With Workbooks(WB).Worksheets(WS).Range(WR)
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With
End Sub


Car même si je corrige ta Syntax, Eric, en ceci :
Workbooks(WB).Worksheets(WS).Range(WR) = Format(TextBox2.Value, "# ###.000")

Dans la cellules j'ai du texte, formaté certe, mais du texte et non une valeur numérique...

Bonne Fin d'Aprèm
@+Thierry
 
bonjour au forum et bonne journées
petit problème dans mon code

voilà le message
erreur de compilation variable non définie
il parle de quelle variable monsieur VBA

merci et à +
Ouin-Ouin
 
Bonjour Ouin-Ouin, Eric, le Forum

Le fait que VBA te demande de déclarer tes Variables provient du fait de la déclaration : "Option Explicit" tout en haut du Module en question (Private Module ou Module Standard).

C'est très bien car "Option Explicite t'oblige à déclarer tes Variables... Et par conséquent à éviter bien des problèmes par la suite... Et aussi à prendre des bonnes habitudes en programmation...

Par contre je ne peux pas te répondre, car je ne suis pas devin pour devinir de quelle variable il s'agit !!!

En général VBE stoppe et te surligne en bleu la Variable incriminée (ou le Nom d'objet, ou l'instruction) lors du message de "Compile Error"... Donc regarde ce qui est surligné, et si c'est une Variable, fais la déclaration de Variable qui s'impose... Si c'est une Instruction ou un Object mal orthographié, alors fais la correction qui s'impose...

Ceci dit dans les codes successifs que je te t'ai proposés dans ce Fil de Discussion toutes les Variables sont bien déclarées en bonne et due forme...

Bon Appétit
@+Thierry
 
bonsoir thierry et merci de ton coup de main





Private Sub CommandButton5_Click()
Dim WB As String, WS As String, WR As String
Dim TheNum As Double

If Not IsNumeric(TextBox13) Then Exit Sub

TheNum = TextBox13.Value

WB = "Document.xls"
WS = "Document"
WR = "C23"

With Workbooks(WB).Worksheets(WS).Range(WR)
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With




If Not IsNumeric(Label1) Then Exit Sub

TheNum = Label1.Value ici est un problème il se bloque sur value

WB = "Document.xls"
WS = "Document"
WR = "D23"

With Workbooks(WB).Worksheets(WS).Range(WR)
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With


merci de ton aide
ouin-ouin
 
Re Ouin-Ouin, le Forum

C'est un Problème simple, un Control "Label" ne supporte pas la Propriété Value mais simplement Caption qui aura le Même Effet...

Par contre ton code cloche encore niveau organisation, j'écrirais plutot comme ceci :

Private Sub CommandButton5_Click()

Dim WB As String, WS As String, WR1 As String, WR2 As String
Dim TheNumA As Double, TheNumB As Double

If Not IsNumeric(TextBox13) Then Exit Sub
If Not IsNumeric(Label1) Then Exit Sub

TheNum = TextBox13.Value
TheNum = Label1.Caption


WB = "Document.xls"
WS = "Document"
WR1 = "C23"
WR2 = "D23"

With Workbooks(WB).Worksheets(WS)

With .Range(WR1)
.Value = TheNumA
.NumberFormat = "#,###,##0.000"
End With

With .Range("WR2")
.Value = TheNumB
.NumberFormat = "#,###,##0.000"
End With

End With


End Sub

Bonne Soirée
@+Thierry
 
re
je viens fou...................
quel différence entre le premier code
ou est l'erreur? avec text box 13 c'est ok
avec label je merdouille....



Private Sub CommandButton1_Click()
Dim WB As String, WS As String, WR As String
Dim TheNum As Double

If Not IsNumeric(TextBox13) Then Exit Sub

TheNum = TextBox13.Value

WB = "Document.xls"
WS = "Document"
WR = "C23"

With Workbooks(WB).Worksheets(WS).Range(WR)
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With


If Not IsNumeric(Label1) Then Exit Sub

TheNum = Label1.Caption

WB = "Document.xls"
WS = "Document"
WR = "D23"

With Workbooks(WB).Worksheets(WS).Range(WR)
.Value = TheNum
.NumberFormat = "#,###,##0.000"
End With
 
bonsoir à tous
bonsoir michel

désolé mais j'ai enfin trouvé...!!!!!
bon je crois mais je suis pas du tout sûr j'ai eu un problème avec mes commandbutto bref c'est bon pour cette première partie

maintenant je viens avec ma nouvelles demande sur nouveau fil
alors peut-être à plus
et MERCI BEAUCOUP

Ouin-Ouin
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour