IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Coller contenu cellule excel dans endroit précis .doc [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut Coller contenu cellule excel dans endroit précis .doc
    Bonjour tout le monde,

    je suis actuellement en train de finir de développer ma macro excel en VB et j'ai besoin de vous pour 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 pour se placer dans un endroit particulier d'un fichier .doc ?!


    Merci a tous par avance pour votre aide !

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    et pourquoi ne pas passer, à partir de word, par l'outil publipostage ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    je suis désolé mais je ne suis pas trés doué en informatique, alors je ne sais pas du tout de quoi il s'agit!!

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Si tu envoies tes deux fichiers allégés (avec données bidons, si tu veux), peut-etre je pourrai te guider

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    Mr casefeyere,

    je fais ca des que je peux, sachant que je suis en train d'élaborer le modèle .doc

    En revanche j'ai déjà le .xls...

    http://www.cijoint.fr/cjlink.php?fil...cijIdIVJhc.xls


    le voici si tu veux en attendant (un gros scipt VBA s'y trouve faisant référence a des fiches ISO a remplir automatiquement,a un tableau avec nouvellesl ignes a incrémenter.....)

    je t'envoi le .doc quand je peux!

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    1ère chose : pas de Monsieur, ça me vieillit

    2ème chose : je viens de voir ton fichier excel, pour un gars qui n'y connait pas grand-chose, je trouve ton fichier élaboré

    3ème chose : je ne pourrai travailler que quand j'aurais le fichier .doc, je ne pourrai rien faire sur le fichier excel car il faudrait que je change tous les chemins en référence et je ne veux pas surcharger mon PC.

    donc une fois le .doc obtenu, ce ne sezra qu'un exemple de base à adapter

    Bonne journée

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    alors voila le .doc

    http://www.cijoint.fr/cjlink.php?fil...cijKzYL2uf.doc

    sur l'excel de tout a l'heure, j'ai réussi a faire ca a grace aux nombreuses aides charitables de forum informatiques!!

    je viens de rajouter sur mon excel une case a cocher....je ne sais pas comment faire mais il faudrait qu'elle permette SI ELLE EST COCHEE de lancer le publipostage..et si elle demeure non cochée de ne rien faire....

    en espérant que tout ca puisse t'aider!!

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Bonjour,

    Et que dirais-tu de lancer ton enregistreur de macros dans Word puis d'y coller un truc bidon où tu veux ? Tu verrais alors où ça se situe simplement

    Et si jamais tu as besoin de faire quelques trucs dynamiquement, il suffira d'adapter le code obtenu (par exemple, pour coller après certains mots précis). Mais la encore, l'enregistreur couplé à la fonction rechercher (Ctrl + F) devrait t'aider à t'en sortir. Et si jamais ça devient un peu compliqué (ce dont je doute vu qu'il ne s'agit que de copier/coller), vas voir du côté du forum VBA Word

    Une fois ton code obtenu comme tu le souhaites, tu le mets dans ton Excel bien comme il faut

    PS : je propose cela vu que je ne connais rien au publipostage que propose casefayere que je salue

  9. #9
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Ca va être difficile de t'aider car je n'ai aucune donnée sur ton fichier excel, tout ce que je peux faire, c'est mettre des données bidons sur une de tes feuilles juste pour te montrer comment fonctionne le publipostage, mais il est évident que si je t'envoie les fichiers .doc et .xls il faudra changer toutes les références du publipostage

    pour la deuxième question
    je viens de rajouter sur mon excel une case a cocher....je ne sais pas commment faire mais il faudrait qu'elle permette SI ELLE EST COCHEE de lancer le publipostage..et si elle demeure non cochée de ne rien faire....
    d'autres utilisateurs pourront t'aider, perso je préfère y aller gentiment

    Si tu es OK, et pas pressé, je m'en occupe dès que j'ai 5 mm

    à +

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    alors casefayere deja merci pour tout vraiment!!

    le model .dot est ok....

    voici le fichier excel modifié avec le code qui va bien (code écrit aprés
    '!!!!!!!!!!!EXEMPLE PUBLIPOSTAGE:::::::::::::: ) mais ca ne marche pas pr l'instant...

    http://www.cijoint.fr/cjlink.php?fil...cijmWlk11u.xls

    peut etre parce qu'il faut que je me décale pas en terme de colonne mais en terme de ligne depuis Curcell...et que j'ai tenté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    apWord.Selection.Goto What:=-1, Name:="Adresse Client"
    'curCell décalé de 6 lignes
    apWord.Selection.TypeText curCell.Offset(6, 0).Value

    tu as donc le .xls....

    juste un truc aussi:
    le .dot se trouvera comme référence toujours stocké ici par défaut;
    Y:\TKAF\R04\A422\_Commun-Agence\Evelyne-carine\Dossier MOD\ISO + Doc type

    et mon .doc devra se stocker finalement dans le fichier que je crée au début de mon script (regardes bien!)
    si tu peux m'éclaircir tout ca car doucement doucement je me noies.......

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    ca y est ca tourne!!! j'ai réussi........

    par contre je ne sais toujours 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 pour ca ce serait super !!

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Un petit UserForm avec une CheckBox résoudrait ton problème

    Si tu ne sais pas comment cela fonctionne, y'a un tuto mieux que très bien fait sur le site

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    Salut!

    ca m'a pas l'air simplissime ce que tu me racontes, surtout quand comme moi on est pas une bete en VB mais je vais approfondir cette piste......

    merci beaucoup!!

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Tu crées un UserForm avec une Checkbox (et la petite légende qui va bien) et un bouton OK. Si la Checkbox est cochée lorsque tu cliques sur OK alors tu appelles ta procédure. Dans le cas contraire, tu ne l'appelles pas et c'est réglé.

    Ca peut paraître compliqué mais je te promets qu'étant débutant ou pas, si tu suis le tuto, pour le peu que tu as à mettre dans ton UserForm, tu plies ça en 30 mins (sans connaître). C'est vraiment suivre le tuto pas à pas (le tuto en question est celui sur les contrôles des UserForms).

    Passe ici si tu n'as pas réussi avec le tuto et montre nous le code que tu as fait

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    en fait j'ai peut etre pas été trés clair!

    Mon formulaire excel est déjà fait, avec des champs a renseigner...et une seule case a cocher (ou non!)

    A la fin se trouve un bouton "Valider" qui lance une macro (assez baleze)....
    il faut que si la case est cochée tout mon script s'exécute..si elle ne l'est pas, une petite partie du script ne se réalise pas.

    En l'ocurrence je comptais mettre quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If CheckBox1.Value = True Then
    'MON SCRIPT 
    Else
    Et c'est la que je ne sais pas trop comment faire......

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    voila le script qui doit ou non se lancer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    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.ActiveDocument.SaveAs Filename:="Plannification +Dde ligne EDF - " & curCell.Value & ".doc"
        '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
    Workbooks("Création dossier chantiers.xls").Close savechanges:=False

  17. #17
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If CheckBox1.Value = True Then
    MON SCRIPT
    Ce code me semble bon.

    il faut que si la case est cochée tt mon script s'exécute..si ell ne l'est pas, une petite partie du script ne se réalise pas..
    Tu peux séparer le code qui s'execute chaque fois et l'autre dans 2 macros.
    ensuite dans le code du bouton quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub CommandButton1_Click()
     
    Call macro1
     
    If CheckBox1.Value = True Then
       Call macro2
    End If
     
    End Sub

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    Salut aalex_38 certes ton idée semble la plus logique mais je ne l'ai pas fait avant car j'ai peur de faire un mélange entre les modules (1,2,3) les feuilles(1,2,3) et le ThisWorkBook....

    En plus, je ne comprends plus rien entre le nom de mon bouton et les
    Public Sub....

    Alors je le sens pas trop.......

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 28
    Points
    28
    Par défaut
    J'ai suivi tes recommandations...

    Mon module1 commencant comme ca et qui doit s'exécuter tout le temps marche

    Mon module2 qui commence comme ca et qui doit s'exécuter si la case est cochée ne marche pas (objet requis)

    enfin dans thisworkbook il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub CommandButton1_Click()
     
    Call FICHES_ISO
     
    If CheckBox1.Value = True Then
       Call DDE_LIGNE_EDF
    End If
     
    End Sub
    Le truc que je ne comprends pas c'est que quand je fais click droit sur le bouton, puis affecter macro, il y a :

    nom de la macro:'Création dossier chantiers.xls'!ThisWorkbook.CommandButton1_Click

    Et en desssous ca que je ne comprends pas!

    DDE_LIGNE_EDF
    FICHES_ISO
    ThisWorkBook.CommandButton1.Click

    en meme temps je ne sais pas si CommandButton1_Click correspond bien a mon bouton (a priori oui) et si ma case à cocher s'appelle bien CheckBox1 (je ne trouve pas l'info!)

  20. #20
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Tu as excel 2007, moi j'utilise les contrôles activex et pas les contrôles formulaire.

    Sur la feuille, je me met en mode création (barre d'outil macro), je clique sur le bouton et le code du click s'ecrit tout seul !
    Pareil pour tout les objets.
    Sinon click droit et propriété permet d'afficher une fen^^etre et par exemple de renommer des objets.

    Je te conseil de lire des tutoriaux si tu veux t'autoformer même si tu connais deja beaucoup de chose, les rappels sont parfois utiles !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Insertion contenu de cellule excel dans message HTML
    Par PATDRO dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/06/2013, 09h10
  2. Copier contenues cellule excel dans une fichier texte
    Par nicolas21240 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/12/2007, 15h25
  3. Coller une plage de cellules Excel dans Word
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 21/09/2007, 00h32
  4. Réponses: 1
    Dernier message: 19/12/2006, 16h12
  5. [VBA-E] coller contenu Presse-papiers dans controle Image
    Par mr63 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/03/2006, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo