Coller contenu cellules excel dans endroit précis d'un fichier .doc

tony020422

XLDnaute Junior
Bonjour tout le monde, :p

je ss actuellement en train de finir de développer ma macro excel en VB et j'ai besoin de vous pr finir ca nikel......

je ne sais pas comment faire pour que ma macro copie le contenu de certaines cellules excel de mon fichier "Création de dossiers.xls" vers mon fichier .doc intitulé "demande de ligne EDF"...

J'ai déjà fait des choses dans ce genre mais ici le fichier .doc n'est pas protégé en écriture ou quoi que ce soit, et il faut arriver a coller le contenu des cellules excel a des endroits "précis" de mon .doc (par exemple aprés la ou serait écrit: expéditeur: à destination de: ...)

et c'est la le souci....comment faire pr se placer dans un endroit particulier d'un fichier .doc ?!


Merci a tous par avance pour votre aide ! :D
 
Dernière édition:

tony020422

XLDnaute Junior
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

en ayant tt enlevé de mon script et en ne laissant que ca:

j'ai une "erreur 438 propriété ou méthode non gérée par cet objet" a ce niveau la:
Sub Bouton29_QuandClic()


ChDir "Y:\TKAF\R04\A422\_Commun-Agence\Evelyne-carine\Dossier Mod Aff. en cours\"

Dim MonRep As String
MonRep = "Y:\TKAF\R04\A422\_Commun-Agence\Evelyne-carine\Dossier Mod Aff. en cours\" & Cells(11, 3).Value & " - " & Cells(7, 3).Value
MkDir (MonRep)






' !!!!!!!!!!!!!!!!!!!!!!!EXEMPLE PUBLIPOSTAGE !!!!!!!!!!!!!!!!!!!!!!!!!!

Dim apWord, docWord, curCell As Range, chemin
chemin = "Y:\TKAF\R04\A422\_Commun-Agence\Evelyne-carine\Dossier MOD\ISO + Doc type\"
'créer une application Word
Set apWord = CreateObject("word.application")

'curCell = première entrée (C11)
Set curCell = ThisWorkbook.Sheets("Feuil1").Range("C11")

'tant que quelque chose est écrit dans curCell
While curCell.Value <> vbNullString

'créer un nouveau document à partir du modèle "modele\invitation.dot"
'PS: - le fichier "invitation.dot" est créé avec des Signets (appelés plus tard dans la macro)
' ils renvoient à un emplacement ou une sélection de texte
' dans cet exemple, ils renvoient aux diférents textes entre <>
' - pour créer un signet dans word, Insertion --> Signet
Set docWord = apWord.Documents.Add(Template:=chemin & "modele lettre FT.dot")

'aller au signet "date" dans le doc Word
apWord.Selection.Goto What:=-1, Name:="DateJour"
'y écrire la date d'aujourd'hui formatée
apWord.Selection.TypeText Format(Now, "dd/mm/yyyy")

'aller au signet "NomChantier" dans le doc Word
apWord.Selection.Goto What:=-1, Name:="NomChantier"
'y écrire la valeur de C11
apWord.Selection.TypeText ThisWorkbook.Sheets("Feuil1").Range("C11").Value

apWord.Selection.Goto What:=-1, Name:="NomClient"
apWord.Selection.TypeText ThisWorkbook.Sheets("Feuil1").Range("C15").Value


apWord.Selection.Goto What:=-1, Name:="AdresseClient"
apWord.Selection.TypeText ThisWorkbook.Sheets("Feuil1").Range("C17").Value

'sauver le fichier Word (en lui donnant le nom souhaité
apWord.ChangeFileOpenDirectory (MonRep)
apWord.SaveAs Filename:="Plannification +Dde ligne EDF - " & curCell.Value & ".doc" <-- ERREUR ICI
'fermet le document Word
docWord.Close


'décaler curCell d'une cellule vers le bas
Set curCell = curCell.Offset(1, 0)
Wend

'fermer l'application Word
apWord.Quit

'détruire les objets
Set apWord = Nothing: Set docWord = Nothing: Set curCell = Nothing
Windows.Application.Quit

End Sub
 

tony020422

XLDnaute Junior
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

ca y est ca tourne!!!

par contre je ne sais tjs pas comment programmer le fait que ce morceau de script ne se lance à l'exécution de ma macro seulement si la case a cocher de mon excel a bien été coché avant d'avoir appuyé sur le bouton......

*Si t'as une idée pr ca ce serait super !!
 

tony020422

XLDnaute Junior
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

oups dsl romain je n'avais pas vu ton post précédent.......il n'y a pas de souci vraiment!!

d'autant que le pb est quasiment levé, a part le script pour que le .dot ne se lance la seule condition que la case soit cochée sur le formulaire....

Bonne aprem alors et bonne réunion..à demain !!
 

mromain

XLDnaute Barbatruc
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

re,

réunion finie, aprem bientôt aussi ^^

pour vérifier l'état de ta chekbox, une solution serait de faire :
- clic droit sur la checkbox,
- Format de controle...,
- et à Cellule liée, sélectionner une cellule du classeur (que tu cacheras à l'utilisateur).

maintenant, si tu coche la chekbox, la cellule prendra comme valeur VRAI, et si tu décoche la chekbox, la cellule prendra comme valeur FAUX.

il ne te reste plus qu'à faire le test de la valeur de la cellule dans ton code.

a+
 

tony020422

XLDnaute Junior
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

Re,

je vois ce que tu veux dire......mais en fait je ne sais pas comment faire pr qu'une instruction avec "If checkbox..." ne prenne qu'une partie de mon code en compte...
 

mromain

XLDnaute Barbatruc
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

bonjour tony020422,

je t'ai fait un exemple basique pour que tu comprennes, ce ne sera pas dur à adapter à ta macro ;).

a+
 

Pièces jointes

  • Classeur1.xls
    39.5 KB · Affichages: 72
  • Classeur1.xls
    39.5 KB · Affichages: 79
  • Classeur1.xls
    39.5 KB · Affichages: 82

tony020422

XLDnaute Junior
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

Slt romain,

je viens de voir ton exemple qui a l'air d'etre trés sympa et pourrait convenir !!

par contre, comment fais tu pour lier ta case à cocher a une cellule?! car moi en passant par la barre d'outils, puis formulaire, je peux en insérer une mais n'importe ou....et je peux la déplacer partout!

si j'arrive a la lier a une cellule et si j'adaptes ton code ca pourrait fonctionner!....
 

tony020422

XLDnaute Junior
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

ok j'ai saisi le truc....ce qui est important en fait c'est la cellule VRAI ou FAUX que tu as mis en D9....je vais la mettre trés loin moi A450 pour ne pas la voir (ou bien essayer de la cacher) et je vais voir si ca marche!
 

mromain

XLDnaute Barbatruc
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

re,

je te renvoi à mon post d'hier ;)

a+

re,

réunion finie, aprem bientôt aussi ^^

pour vérifier l'état de ta chekbox, une solution serait de faire :
- clic droit sur la checkbox,
- Format de controle...,
- et à Cellule liée, sélectionner une cellule du classeur
(que tu cacheras à l'utilisateur).

maintenant, si tu coche la chekbox, la cellule prendra comme valeur VRAI, et si tu décoche la chekbox, la cellule prendra comme valeur FAUX.

il ne te reste plus qu'à faire le test de la valeur de la cellule dans ton code.

a+
 

tony020422

XLDnaute Junior
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

ok c'est vrai entre tout j'avais oublié......désormais ca marche..par contre est ce que je peux me passer de Sub test1 et mettre directement avant mon code à exécuter:

if Check.....

ou non?! et est ce qu'aprés le "Else" je peux ne rien mettre a part le End if ?!

Merci !!
 

tony020422

XLDnaute Junior
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

mouarrff c'est génial ca marche nikel ca y est!!!!!!!!!meric romain t'es un génie!!!
je pensais pas que j'y arriverais mais ca y est ca tourne!!

Mille merci vraiment ca me dépanne terriblement!!

j'aurai une autre question par rapport a du publipostage ou de la macro pr remplir un document type (demande d'ouverture de ligne EDF) j'hésites encore....

le pb provient du fait que dans le champs C17 du champ Adresse Client de mon fichier excel qu'il faut remplir au départ, l'adresse est du type:

Cabinet .., 98 rue des orgues, 13004 Marseille <-- tt ca dans la meme cellule

et il faudrait que j'arrive a mettre ca sous cette forme la dans mom modele:

Cabinet ..
98 rue des orgues
13004 Marseille

Comment faire a scinder le contenu d'une cellule excel et le mettre comme ca?!

merci rom's ;-)
 

mromain

XLDnaute Barbatruc
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

re,

de rien ;)

pour ton problème d'adresse, regarde ce petit code :
Code:
Sub test()

Dim adresseComplete As String     'l'adresse à "éclater"
Dim adresseElements() As String   'tableau contenant chaque élément de l'adresse
Dim i As Integer

'initialiser la variable "adresseComplete"
''''''adresseComplete = ThisWorkbook.Sheets("Feuil1").Range("A1").Text
adresseComplete = "Cabinet .., 98 rue des orgues, 13004 Marseille"

'"éclater" l'adresse à chaque ", "
adresseElements = Split(adresseComplete, ", ")

'boucler sur chaque élément du tableau "adresseElements"
For i = LBound(adresseElements) To UBound(adresseElements)
    'afficher l'élément
    MsgBox "élément n°" & i & " --> " & adresseElements(i)
Next i
End Sub

a+
 

tony020422

XLDnaute Junior
Re : Coller contenu cellules excel dans endroit précis d'un fichier .doc

oula et ben......on commence a taper un certain niveau la......et jamais j'aurai été capable de programmer un truc comme ca !!

je vais essayer tt ca et l'adapter mais ca m'a la'ir compliqué!.....je te tiens au courant!!
 

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch