OVH Cloud OVH Cloud

Récupération de données Excel

4 réponses
Avatar
Patrice
Bonjour,

Je dois faire un publipostage, à partir d'une source de données Excel.
Ainsi, un userform (avec un combo) sur Word contiendrait le critère de
recherche (un nom par exemple), et la selection de ce nom déclenchera le
publipostage. Si je laisse les données sur Excel, c'est parce qu'elles sont
issues d'un calcul très complexe.

Je cherche une adresse de site qui m'aidera à faire ça, les conseils avisés
d'un connaisseur.

Merci par avance

4 réponses

Avatar
Youky
Salut je suis pas rapide,
voici ce que je t'ai fait, à mettre en Initialize de l'userform

Private Sub UserForm_Initialize()
'le fichier Xls doit être dans le mm répertoire que le word
'sinon changer ActiveDocument.Path
'changer aussi le nom Feuil3 par le nom de la page xls
'changer MesDisks par le nom du fichier.xls

suivant = "MesDisks"
Dim AppWrd As Object
Dim DocWrd As String
On Error Resume Next
Set AppWrd = GetObject(, "Excel.Application")
If Err <> 0 Then _
Set AppWrd = CreateObject("Excel.Application")
On Error GoTo 0
DocWrd = ActiveDocument.Path & "" & suivant & ".xls"
On Error Resume Next
AppWrd.Windows(suivant & ".xls").Activate
If Err <> 0 Then AppWrd.Workbooks.Open (DocWrd)
AppActivate AppWrd
ligne = AppWrd.sheets("Feuil3").[A65000].End(xlup).Row
For k = 2 To 5000 'ou plus
If AppWrd.sheets("Feuil3").Cells(k, 1) = "" Then Exit Sub
UserForm1.ComboBox1.AddItem AppWrd.sheets("Feuil3").Cells(k, 1)
Next
AppWrd.Workbooks.Quit Savechanges:úlse
Set AppWrd = Nothing
End Sub

Bonne chance
Youky

"Patrice" a écrit dans le message de
news:
Bonjour,

Je dois faire un publipostage, à partir d'une source de données Excel.
Ainsi, un userform (avec un combo) sur Word contiendrait le critère de
recherche (un nom par exemple), et la selection de ce nom déclenchera le
publipostage. Si je laisse les données sur Excel, c'est parce qu'elles
sont

issues d'un calcul très complexe.

Je cherche une adresse de site qui m'aidera à faire ça, les conseils
avisés

d'un connaisseur.

Merci par avance


Avatar
Patrice
Ben je te remercie grandement !

Je m'en vais de ce pas tester tout ça !




Salut je suis pas rapide,
voici ce que je t'ai fait, à mettre en Initialize de l'userform

Private Sub UserForm_Initialize()
'le fichier Xls doit être dans le mm répertoire que le word
'sinon changer ActiveDocument.Path
'changer aussi le nom Feuil3 par le nom de la page xls
'changer MesDisks par le nom du fichier.xls

suivant = "MesDisks"
Dim AppWrd As Object
Dim DocWrd As String
On Error Resume Next
Set AppWrd = GetObject(, "Excel.Application")
If Err <> 0 Then _
Set AppWrd = CreateObject("Excel.Application")
On Error GoTo 0
DocWrd = ActiveDocument.Path & "" & suivant & ".xls"
On Error Resume Next
AppWrd.Windows(suivant & ".xls").Activate
If Err <> 0 Then AppWrd.Workbooks.Open (DocWrd)
AppActivate AppWrd
ligne = AppWrd.sheets("Feuil3").[A65000].End(xlup).Row
For k = 2 To 5000 'ou plus
If AppWrd.sheets("Feuil3").Cells(k, 1) = "" Then Exit Sub
UserForm1.ComboBox1.AddItem AppWrd.sheets("Feuil3").Cells(k, 1)
Next
AppWrd.Workbooks.Quit Savechanges:úlse
Set AppWrd = Nothing
End Sub

Bonne chance
Youky

"Patrice" a écrit dans le message de
news:
Bonjour,

Je dois faire un publipostage, à partir d'une source de données Excel.
Ainsi, un userform (avec un combo) sur Word contiendrait le critère de
recherche (un nom par exemple), et la selection de ce nom déclenchera le
publipostage. Si je laisse les données sur Excel, c'est parce qu'elles
sont

issues d'un calcul très complexe.

Je cherche une adresse de site qui m'aidera à faire ça, les conseils
avisés

d'un connaisseur.

Merci par avance







Avatar
Patrice
Youki, t'es un Dieu !!!

Encore Merci !


Salut je suis pas rapide,
voici ce que je t'ai fait, à mettre en Initialize de l'userform

Private Sub UserForm_Initialize()
'le fichier Xls doit être dans le mm répertoire que le word
'sinon changer ActiveDocument.Path
'changer aussi le nom Feuil3 par le nom de la page xls
'changer MesDisks par le nom du fichier.xls

suivant = "MesDisks"
Dim AppWrd As Object
Dim DocWrd As String
On Error Resume Next
Set AppWrd = GetObject(, "Excel.Application")
If Err <> 0 Then _
Set AppWrd = CreateObject("Excel.Application")
On Error GoTo 0
DocWrd = ActiveDocument.Path & "" & suivant & ".xls"
On Error Resume Next
AppWrd.Windows(suivant & ".xls").Activate
If Err <> 0 Then AppWrd.Workbooks.Open (DocWrd)
AppActivate AppWrd
ligne = AppWrd.sheets("Feuil3").[A65000].End(xlup).Row
For k = 2 To 5000 'ou plus
If AppWrd.sheets("Feuil3").Cells(k, 1) = "" Then Exit Sub
UserForm1.ComboBox1.AddItem AppWrd.sheets("Feuil3").Cells(k, 1)
Next
AppWrd.Workbooks.Quit Savechanges:úlse
Set AppWrd = Nothing
End Sub

Bonne chance
Youky

"Patrice" a écrit dans le message de
news:
Bonjour,

Je dois faire un publipostage, à partir d'une source de données Excel.
Ainsi, un userform (avec un combo) sur Word contiendrait le critère de
recherche (un nom par exemple), et la selection de ce nom déclenchera le
publipostage. Si je laisse les données sur Excel, c'est parce qu'elles
sont

issues d'un calcul très complexe.

Je cherche une adresse de site qui m'aidera à faire ça, les conseils
avisés

d'un connaisseur.

Merci par avance







Avatar
Youky
Re bonjour,
Le fichier Excel avec ma macro deviens invisible à l'écran lors de son
démarrage, et ne le ferme pas ; je m'en suis apercu aprés.
J'ai donc rectifiée la macro, avec celle ci le fichier Excel reste ouvert et
invisible et est fermé et rendu visible au moment ou l'on quitte l'userform.
Il est souhaitable de faire la modif
Youky

Private Sub UserForm_Initialize()
'le fichier Xls doit être dans le mm répertoire que le word
'sinon changer ActiveDocument.Path
'changer aussi le nom Feuil3
'changer MesDisks par le nom du fichier.xls
suivant = "MesDisks"
Dim AppWrd As Object
Dim DocWrd As String
On Error Resume Next
Set AppWrd = GetObject(, "Excel.Application")
If Err <> 0 Then _
Set AppWrd = CreateObject("Excel.Application")
On Error GoTo 0
DocWrd = ActiveDocument.Path & "" & suivant & ".xls"
On Error Resume Next
AppWrd.Windows(suivant & ".xls").Activate
If Err <> 0 Then AppWrd.workbooks.Open (DocWrd)
'AppActivate AppWrd
For k = 2 To 4000
If AppWrd.sheets("Feuil3").Cells(k, 1) = "" Then Exit Sub
UserForm1.ComboBox1.AddItem AppWrd.sheets("Feuil3").Cells(k, 1)
Next
Set AppWrd = Nothing
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
suivant = "MesDisks"
Set ppWrd = GetObject(, "Excel.Application")
ocWrd = ActiveDocument.Path & "" & suivant & ".xls"
With ppWrd
.Windows(suivant & ".xls").Activate
.Application.ActiveWorkbook.Close Savechanges:úlse
.Visible = True
End With
Set ppWrd = Nothing
End Sub

"Patrice" a écrit dans le message de
news:
Youki, t'es un Dieu !!!

Encore Merci !


Salut je suis pas rapide,
voici ce que je t'ai fait, à mettre en Initialize de l'userform

Private Sub UserForm_Initialize()
'le fichier Xls doit être dans le mm répertoire que le word
'sinon changer ActiveDocument.Path
'changer aussi le nom Feuil3 par le nom de la page xls
'changer MesDisks par le nom du fichier.xls

suivant = "MesDisks"
Dim AppWrd As Object
Dim DocWrd As String
On Error Resume Next
Set AppWrd = GetObject(, "Excel.Application")
If Err <> 0 Then _
Set AppWrd = CreateObject("Excel.Application")
On Error GoTo 0
DocWrd = ActiveDocument.Path & "" & suivant & ".xls"
On Error Resume Next
AppWrd.Windows(suivant & ".xls").Activate
If Err <> 0 Then AppWrd.Workbooks.Open (DocWrd)
AppActivate AppWrd
ligne = AppWrd.sheets("Feuil3").[A65000].End(xlup).Row
For k = 2 To 5000 'ou plus
If AppWrd.sheets("Feuil3").Cells(k, 1) = "" Then Exit Sub
UserForm1.ComboBox1.AddItem AppWrd.sheets("Feuil3").Cells(k, 1)
Next
AppWrd.Workbooks.Quit Savechanges:úlse
Set AppWrd = Nothing
End Sub

Bonne chance
Youky

"Patrice" a écrit dans le message de
news:
Bonjour,

Je dois faire un publipostage, à partir d'une source de données Excel.
Ainsi, un userform (avec un combo) sur Word contiendrait le critère de
recherche (un nom par exemple), et la selection de ce nom déclenchera
le



publipostage. Si je laisse les données sur Excel, c'est parce qu'elles
sont

issues d'un calcul très complexe.

Je cherche une adresse de site qui m'aidera à faire ça, les conseils
avisés

d'un connaisseur.

Merci par avance