Copier TextBox.value [Résolu]

cs_ZokraM 6 Messages postés mardi 28 novembre 2006Date d'inscription 9 décembre 2006 Dernière intervention - 8 déc. 2006 à 17:08 - Dernière réponse : cs_ZokraM 6 Messages postés mardi 28 novembre 2006Date d'inscription 9 décembre 2006 Dernière intervention
- 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
Afficher la suite 

9 réponses

Répondre au sujet
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 9 déc. 2006 à 00:01
+3
Utile
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"
<!--
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de mortalino
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 8 déc. 2006 à 17:59
0
Utile
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"
<!--
Commenter la réponse de mortalino
cs_ZokraM 6 Messages postés mardi 28 novembre 2006Date d'inscription 9 décembre 2006 Dernière intervention - 8 déc. 2006 à 21:06
0
Utile
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]-->
Commenter la réponse de cs_ZokraM
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 8 déc. 2006 à 22:11
0
Utile
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"
<!--
Commenter la réponse de mortalino
cs_ZokraM 6 Messages postés mardi 28 novembre 2006Date d'inscription 9 décembre 2006 Dernière intervention - 8 déc. 2006 à 23:27
0
Utile
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
Commenter la réponse de cs_ZokraM
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 8 déc. 2006 à 23:30
0
Utile
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"
<!--
Commenter la réponse de mortalino
cs_ZokraM 6 Messages postés mardi 28 novembre 2006Date d'inscription 9 décembre 2006 Dernière intervention - 8 déc. 2006 à 23:41
0
Utile
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
Commenter la réponse de cs_ZokraM
cs_ZokraM 6 Messages postés mardi 28 novembre 2006Date d'inscription 9 décembre 2006 Dernière intervention - 9 déc. 2006 à 00:22
0
Utile
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 ?
Commenter la réponse de cs_ZokraM
cs_ZokraM 6 Messages postés mardi 28 novembre 2006Date d'inscription 9 décembre 2006 Dernière intervention - 9 déc. 2006 à 00:32
0
Utile
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 
Commenter la réponse de cs_ZokraM

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.