Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pourriez vous m'aider encore ?

14 réponses
Avatar
val
bonjour

excusez moi de reposer ces deux questions (je n'ai pas eu de reponse pour
l'instant)...

1) comment une macro peut ouvrir n'importe quel fichier avec la
manipulation
"insertion / objet / creer d'apres le fichier / parcourir" ?

2) une fois le fichier inserer comment cette macro pourrait modifier le
commutateur "p" en "t" de lobjet
inserer ?

merci pour votre aide...

val

10 réponses

1 2
Avatar
Anacoluthe
Bonjour !

'val' nous a écrit ...
excusez moi de reposer ces deux questions (je n'ai pas eu de reponse pour
l'instant)...
1) comment une macro peut ouvrir n'importe quel fichier avec la
manipulation
"insertion / objet / creer d'apres le fichier / parcourir" ?
2) une fois le fichier inserer comment cette macro pourrait modifier le
commutateur "p" en "t" de lobjet
inserer ?


Souvent quand vous n'obtenez pas de réponse à une question,
c'est que ça n'a pas immédiatement 'tilté' chez les contributeurs...
Il vaut mieux dans ce cas poser sa question différemment, préciser
le contexte et ses intentions, et si possible rester dans sa
ficelle pour qu'on puisse suivre un peu...

On ne peut pas lier (c'est bien un LINK non ?) /n'importe_quel/
objet OLE comme vous dites et lui affecter un commutateur /t
réservé au texte : c'est quoi le /t d'une image ?

Si vous souhaitez simplement ouvrir la boîte de dialogue
Insertion/Objet en vba c'est Dialogs(wdDialogInsertObject).Show
Le changement de /p en /t peut se faire par un simple RR dans
le code du champ Link.

Anacoluthe
« Le plus difficile ce ne sont pas les réponses,
le plus difficile, c'est de se poser des questions. »
- Lyse DESROCHES

Avatar
val
bonjour


On ne peut pas lier (c'est bien un LINK non ?) /n'importe_quel/
objet OLE comme vous dites et lui affecter un commutateur /t
réservé au texte : c'est quoi le /t d'une image ?


je pensais seulement à des fichiers word...


Si vous souhaitez simplement ouvrir la boîte de dialogue
Insertion/Objet en vba c'est Dialogs(wdDialogInsertObject).Show


quand j'enregistre la macro je realise cette suite de manip :

je clique sur
1) insertion
2) objet
3) creer d'apres le fichier
4) lier au fichier
5) parcourir
6) et pour terminer je suis oblige de choisir un fichier (bb.doc). voila ce
que ça donne en code.

Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.8", FileName
_
:="C:Documents and SettingsmoiMes documentsbb.doc",
LinkToFile:=True, _
DisplayAsIcon:úlse

quand j'execute cette macro c'est toujours le meme fichier qui est insere
(logique). je voudrais pouvoir choisir le fichier. il faudrait une fois la
macro lancee qu'elle execute les points 1) 2) 3) 4) 5) et s'arrete au point
6) pour me demander quel est le fichier à inserer !!!


Le changement de /p en /t peut se faire par un simple RR dans
le code du champ Link.



que voulez vous dire par RR ?


merci pour votre patitience. vous le voyez je ne connais pas le langage
macro.

val


Anacoluthe
« Le plus difficile ce ne sont pas les réponses,
le plus difficile, c'est de se poser des questions. »
- Lyse DESROCHES


Avatar
Geo
Bonjour val


quand j'execute cette macro c'est toujours le meme fichier qui est
insere (logique). je voudrais pouvoir choisir le fichier. il faudrait
une fois la macro lancee qu'elle execute les points 1) 2) 3) 4) 5) et
s'arrete au point 6) pour me demander quel est le fichier à inserer


Voici comment insérer un fichier par vba :
Sub Inserer()
With Dialogs(wdDialogInsertFile)
.Display
If .name <> "" Then .Execute
End With
End Sub

--

A+

Avatar
Circé
Bonjour Geo,

Comme Val n'est pas resté dans le même fil, tout le monde l'a perdu !.. (le fil...)

Alors voilà l'énoncé du problème :

- Il faut pouvoir insérer des fichiers, en texte brut, sans rapatrier les styles.

Comme Val ne voulait pas ouvrir les fichiers, copier le texte, collage spécial et qu'il voulait rester dans son fichier
destination, j'avais proposé de faire une insertion de champ LINK avec le commutateur t.

A l'époque, il n'était pas question de macro ! Maintenant a priori il s'agit de quelque chose de répétitif, faudrait que Val nous
confirme... et donc macro...

Donc, s'il y a macro, on peut ouvrir le fichier et faire un collage spécial, on peut aussi insérer autant de champs LINK que de
fichiers puis finir par un déchampage !
Faudrait peut être faire aménager la batchmacro (magique) d'anacoluthe qui permettrait non pas d'appliquer une macro sur x
fichiers, mais traiter tout ce qui est insertion en batch...

Bon, je vous laisse la place les macroteurs... Et Val pourra peut être me contredire si j'ai dit des âneries... ;-)

Circé


Bonjour val


quand j'execute cette macro c'est toujours le meme fichier qui est
insere (logique). je voudrais pouvoir choisir le fichier. il faudrait
une fois la macro lancee qu'elle execute les points 1) 2) 3) 4) 5) et
s'arrete au point 6) pour me demander quel est le fichier à inserer


Voici comment insérer un fichier par vba :
Sub Inserer()
With Dialogs(wdDialogInsertFile)
.Display
If .name <> "" Then .Execute
End With
End Sub



Avatar
Geo
Bonjour Circé

Effectivement je n'ai fait que tenter de répondre à la dernière question.

Compte tenu de ce que tu rappelles,
il serait bien de refaire un point sur le problème à résoudre.

--

A+
Avatar
Anacoluthe
Bonjour !

'Circé' nous a écrit ...
Comme Val n'est pas resté dans le même fil, tout le monde l'a perdu !..
(le fil...)


Merci Circé de nous avoir remonté ce fil perdu !!!!!!!!!

Alors voilà la macro si je t'ai bien compris ...
Comme je ne sais pas quelle version utilise Val j'ai repris
la macro de Guy dans la FAQ pour 'piocher' un document

Sub LierIciUnDocumentTexte()
' Insère un document en champ LINK avec commutateur t
Dim MonTexte As InlineShape
Dim CC As String
Set MonTexte = Selection.InlineShapes.AddOLEObject( _
ClassType:="Word.Document.8", _
FileName:=fstrFichierUtilisateur(), _
LinkToFile:=True, DisplayAsIcon:úlse)
CC = MonTexte.Field.Code.Text
CC = Left(CC, Len(CC) - 3) & "t "
MonTexte.Field.Code.Text = CC
ActiveDocument.Fields.Update
End Sub

Public Function fstrFichierUtilisateur() As String
' Macro écrite par Guy Moncomble
Dim MyDialog As Dialog, RetourDial As Integer
Dim Nom As String, Chemin As String, NomComplet As String
Set MyDialog = Dialogs(wdDialogFileOpen)
RetourDial = MyDialog.Display
If RetourDial = -1 Then
Nom = MyDialog.Name
Chemin = CurDir
NomComplet = Chemin & "" & Nom
fstrFichierUtilisateur = NomComplet
Else
fstrFichierUtilisateur = ""
End If
End Function


Je n'ai finalement pas utilisé de RR (Rechercher Remplacer)
pour changer le commutateur p en t

Bonne soirée !

Anacoluthe
« Le plus difficile ce ne sont pas les réponses,
le plus difficile, c'est de se poser des questions. »
- Lyse DESROCHES

Avatar
val
bonsoir

j'ai essaye de mettre tes lignes dans ma macro mais ça ne marche pas !!!

sub macro1()
Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.8", With
Dialogs(wdDialogInsertFile)
.Display
If .name <> "" Then .Execute
End With
, LinkToFile:=True, _
DisplayAsIcon:úlse
ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes
end sub


quand j'enregistre la macro je realise cette suite de manip :

je clique sur
1) insertion
2) objet
3) creer d'apres le fichier
4) lier au fichier
5) parcourir
6) et pour terminer je suis oblige de choisir un fichier (bb.doc). voila ce
que ça donne en code.


quand j'execute cette macro c'est toujours le meme fichier qui est insere
(logique). je voudrais pouvoir choisir le fichier. il faudrait une fois la
macro lancee qu'elle execute les points 1) 2) 3) 4) 5) et s'arrete au point
6) pour me demander quel est le fichier à inserer !!!



Voici comment insérer un fichier par vba :
Sub Inserer()
With Dialogs(wdDialogInsertFile)
.Display
If .name <> "" Then .Execute
End With
End Sub

--

A+



Avatar
val
bonsoir

je suis perdu...
word XP


non il ne s'agit plus de collage special (oublions ce que nous avons dit ce
que nous avons ecrit) mais je voudrais creer cette macro...

je clique sur
1) insertion
2) objet
3) creer d'apres le fichier
4) lier au fichier
5) parcourir (je dois choisir un fichier word)

essayons deja ceci on verra apres pour les liens...

j'ai bien essaye d'enregistrer cette macro mais quand je l'execute c'est
toujours le meme fichier qui est insere
(logique). je voudrais pouvoir choisir le fichier. il faudrait une fois la
macro lancee qu'elle execute les points 1) 2) 3) 4) et qu'elle s'arrete au
point 5) pour me demander quel est le fichier à inserer !!!

merci.

val

"Circé" a écrit dans le message de news:

Bonjour Geo,

Comme Val n'est pas resté dans le même fil, tout le monde l'a perdu !..
(le fil...)


Alors voilà l'énoncé du problème :

- Il faut pouvoir insérer des fichiers, en texte brut, sans rapatrier les
styles.


Comme Val ne voulait pas ouvrir les fichiers, copier le texte, collage
spécial et qu'il voulait rester dans son fichier

destination, j'avais proposé de faire une insertion de champ LINK avec le
commutateur t.


A l'époque, il n'était pas question de macro ! Maintenant a priori il
s'agit de quelque chose de répétitif, faudrait que Val nous

confirme... et donc macro...

Donc, s'il y a macro, on peut ouvrir le fichier et faire un collage
spécial, on peut aussi insérer autant de champs LINK que de

fichiers puis finir par un déchampage !
Faudrait peut être faire aménager la batchmacro (magique) d'anacoluthe qui
permettrait non pas d'appliquer une macro sur x

fichiers, mais traiter tout ce qui est insertion en batch...

Bon, je vous laisse la place les macroteurs... Et Val pourra peut être me
contredire si j'ai dit des âneries... ;-)


Circé


Bonjour val


quand j'execute cette macro c'est toujours le meme fichier qui est
insere (logique). je voudrais pouvoir choisir le fichier. il faudrait
une fois la macro lancee qu'elle execute les points 1) 2) 3) 4) 5) et
s'arrete au point 6) pour me demander quel est le fichier à inserer


Voici comment insérer un fichier par vba :
Sub Inserer()
With Dialogs(wdDialogInsertFile)
.Display
If .name <> "" Then .Execute
End With
End Sub







Avatar
Anacoluthe
Bonjour !

'val' nous a écrit ...
j'ai essaye de mettre tes lignes dans ma macro mais ça ne marche pas !!!


Horreur ! S'il vous plaît ne mélangez pas tout !!!!!!!!!!!!

La macro de Geo MARCHE même si elle ne répond pas à votre demande,
ma macro MARCHE si on s'en tient aux explications de Circé.

Par pitié ne bricolez pas en VBA sans un minimum de connaissance
de syntaxe que vous trouverez dans l'Aide de VBA ou sur la FAQ à Circé
sinon c'est vraiment pas la peine, on n'y arrivera jamais. Votre
demande de macro est déjà assez COMPLEXE comme ça, il vous faut
absolument quelques BASES pour pouvoir nous comprendre.
Ce n'est pas une critique, tout le monde a débuté un jour :-)

Anacoluthe
« Connaître son ignorance est la meilleure part de la connaissance. »
- Proverbe chinois

Avatar
val
bonsoir

je suis desole mais je fais ce que je peux... il me faut la macro pour
mercredi et bien sur je n'ai pas le temps d'acquerir les bases.
si deja je pouvais arriver à ça :

je clique sur
1) insertion
2) objet
3) creer d'apres le fichier
4) lier au fichier
5) parcourir (je dois ici choisir un fichier word)

j'ai bien essaye d'enregistrer cette macro mais quand je l'execute c'est
toujours le meme fichier qui est insere (logique celui que j'ai choisi quand
j'ai enregistre la macro). je voudrais pouvoir choisir un fichier à chaque
fois que j'utilise cette macro. il
faudrait une fois la macro lancee qu'elle execute les points 1) 2) 3) 4) et
qu'elle s'arrete au
point 5) pour me demander quel est le fichier à inserer !!!

voila ce dont j'ai deja besoin pour mercredi...

j'ai essaye le code que tu m'as envoye mais je t'en parlerai un peu plus
tard.

encore merci.

val


'val' nous a écrit ...
j'ai essaye de mettre tes lignes dans ma macro mais ça ne marche pas
!!!



Horreur ! S'il vous plaît ne mélangez pas tout !!!!!!!!!!!!

La macro de Geo MARCHE même si elle ne répond pas à votre demande,
ma macro MARCHE si on s'en tient aux explications de Circé.

Par pitié ne bricolez pas en VBA sans un minimum de connaissance
de syntaxe que vous trouverez dans l'Aide de VBA ou sur la FAQ à Circé
sinon c'est vraiment pas la peine, on n'y arrivera jamais. Votre
demande de macro est déjà assez COMPLEXE comme ça, il vous faut
absolument quelques BASES pour pouvoir nous comprendre.
Ce n'est pas une critique, tout le monde a débuté un jour :-)

Anacoluthe
« Connaître son ignorance est la meilleure part de la connaissance. »
- Proverbe chinois



1 2