Copier TextBox.value

Résolu
cs_ZokraM Messages postés 6 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 9 décembre 2006 - 8 déc. 2006 à 17:08
cs_ZokraM Messages postés 6 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 9 décembre 2006 - 9 déc. 2006 à 00:32
Bonjour à toutes et tous. Je suis tout nouveau utilisateur de VB et je souhaiterai copier le contenu d'une TextBox d'un fichier Word dans une cellule d'un fichier Excel.

Malgré quelques recherches sur le site et sur le forum je n'ai pas trouvé mon bonheur, merci pour votre aide et vos réponses

9 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 déc. 2006 à 00:01
J'ai procécédé à qques modifications, vu que ton fichier xls est déjà ouvert :

Sub test()
    Dim xlApp       As Object
    Dim xlBook      As Object
    Dim xlSheet     As Object
    Dim sNameFile   As String
    
sNameFile =  "Nouveau.xls" 'ici juste le titre, pas besoin du chemin
'                           vu que ton fichier est déjà
ouvert

Set xlApp = GetObject(, "Excel.Application")
Set xlBook = xlApp.Workbooks(sNameFile)
Set xlSheet = xlBook.Sheets("Feuil1") '
change ici le nom de la feuille

xlSheet.Select
xlSheet.Range("A1").Value = ThisDocument.TextBox1.Text
' vérifie la cellule de destination, et le nom du
contrôle

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

End Sub


~ <small> [code.aspx?ID=39466 Mortalino] </small>
~

@++

<hr size ="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
8 déc. 2006 à 17:59
Salut,

voici comment piloter Excel depuis Word :

' *** Menu Outils, Référence : Microsoft Excel Objects Library à
cocher

Sub test()
    Dim xlApp   As New Excel.Application
    Dim xlBook  As Workbook

Set xlBook =  xlApp.Workbooks.Open("C:\Chemmin\Nom classeur.xls")
xlApp.Visible = True

xlBook.Sheets("Feuil1").Range("A1").Value = TextBox1.Value
' pense à
changer le nom de la feuille et la destination

xlBook.Close True
xlApp.Quit

Set xlBook = Nothing
Set xlApp = Nothing

End Sub


~ <small> [code.aspx?ID=39466 Mortalino] </small>
~

@++

<hr size ="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_ZokraM Messages postés 6 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 9 décembre 2006
8 déc. 2006 à 21:06
Merci Mortalino, malheureusement impossible de faire tourner ce code VB me crache une erreur dès la ligne :     Dim xlApp   As New Excel.Application

voici le message : Erreur de compilation :
                            Type défini par l'utilisateur non défini

et bien évidemment, l'aide ne m'a rien apporté, si ça te parle ...

merci d'avance<!--[if gte vml 1]><v:shapetype id="_x0000_t75"
coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:264pt;
height:2in'>
<v:imagedata src="file:///C:/DOCUME~1/admin/LOCALS~1/Temp/msoclip1/01/clip_image001.jpg"
o:title="A"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte vml 1]><v:shapetype id="_x0000_t75"
coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
filled="f" stroked="f">
<v:stroke join />
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>

</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" >
<v:imagedata src="file:///C:/DOCUME~1/admin/LOCALS~1/Temp/msoclip1/01/clip_image001.jpg"
o:title="A"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]-->
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
8 déc. 2006 à 22:11
As-tu pensé à faire ce qui est mis en commentaire (sur la référence) ?
Il faut absolument cocher Microsoft Excel [N° version] Object Library, sans ça, la bibliothèque d'objects Excel ne sera pas connue depuis Word.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ZokraM Messages postés 6 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 9 décembre 2006
8 déc. 2006 à 23:27
Effectivement, je n'avais pas cocher  cette option, toutefois le pb reste entier

voici le code que tu m'as donné et que j'ai adapté et dès que j'exécute la macro j'ai toujours le même message d'erreur sur la même ligne de code.

Sub test()
    Dim xlApp   As New Excel.Application
    Dim xlBook  As Workbook

Set xlBook = xlApp.Workbooks.Open("C:\Documents and Settings\admin\Mes documents\test.xls")
xlApp.Visible = True

xlBook.Sheets("Feuil1").Range("A1").Value = TextBox1.Value
' pense à changer le nom de la feuille et la destination

xlBook.Close True
xlApp.Quit

Set xlBook = Nothing
Set xlApp = Nothing

End Sub

Mon fichier word est test.doc, le fichier excel est ouvert également test.xls.

Je suis vraiment débutant
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
8 déc. 2006 à 23:30
Mais tout ça tu veux le faire depuis VB6, (et donc piloter Word & Excel) ?
Ou tu veux le faire depuis VBA Word (donc test.doc) ?

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_ZokraM Messages postés 6 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 9 décembre 2006
8 déc. 2006 à 23:41
depuis VBA Word, en fait j'ai fait un fichier word dans lequel j'utilise  textBox et ComboBox et je voudrai , grâce  a un commandButton envoyer le contenu de certaine TextBox et Combobox dans un fichier Excel, mais je sèche complètement.
Tant que je reste dans la même application ça va à peu près, je tatonne mais j'arrive à faire  pratiquement ce que je veux mais là je rencontre un vrai pb lorsque je souhaite envoyer des valeurs vers une autre appli.
Merci pour ta patience
0
cs_ZokraM Messages postés 6 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 9 décembre 2006
9 déc. 2006 à 00:22
Mortalino MERCI

c'est tout bon, ça marche aussi bien avec une textBox qu'avec une ComboBox et tout cela déclenché sur un CommandButton.

Une dernière petite question, sur ce même CommandButton est-il possible de demander l'ouverture du fichier excel sur le même click que la copie ?
0
cs_ZokraM Messages postés 6 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 9 décembre 2006
9 déc. 2006 à 00:32
bon ce n'est pas grave j'arrive à ouvrir le fichier excel  avec un premier bouton,  la mise à jour des cellules se fera avec une second

encore merci 
0
Rejoignez-nous