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

VBA Word Discussion :

menu deroulant qui puisse ouvrir des images [WD-2003]


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut menu deroulant qui puisse ouvrir des images
    Bonjour les gars,

    Pouvez-vous m’aider sur ce qui suit ?

    C’est un boulot que je dois faire en Word 2003 !
    Dans un document Word 2003 je dois créer un tableau avec dans une cellule un menu déroulant dans lequel se trouvent les 19 communes Bruxelles…. Jusque là pas de problème !
    Mais là ou ça ce corse, c’est qu’ensuite en sélectionnant une commune dans ce menu, ça devrait ouvrir une image(± 3x3 cm) dans une autre cellule représentant une petite carte de Bruxelles sur lequel une croix est mise indiquant la commune en question ! J’ai donc 19 images de carte différentes

    1- Est ce possible de faire cela?
    2- Faut-il utilisé une macro et/ou VB ?

    Si c'est possible pourriez-vous m’indiquer comment faire, car je ne connais rien en macros et encore moins en VB.

    En vous remerciant d'avance
    Ptitmau

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    C'est possible, mais seulement pour les communes francophones !

    En fait le "menu" n'est pas un menu mais un champ de formulaire.
    Et il faut du VBA.
    Tu as de la chance, les listes sont limitées à 25 entrées.

    http://heureuxoli.developpez.com/off...d/formulaires/
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut
    Merci pour votre réponse
    ce n'est pas moi qui fait le choix de langues
    mais holala ça m'a l'air bien complexe tout ça !

    Moi je ne connais rien en VB.
    Je suis infographiste, je retranscris des fichiers à partir de fichier Indegin, PDF etc. vers des fichiers Office. Mais là ce client me demande de faire cela... et ça m'a l'air bien chinois tout ça ! Je sais créer une liste déroulante sous Word, je sais que je dois stocker toutes les images des 19 cartes dans le même dossier mais après comment je fais pour que ça fonctionne !
    J'ai trouvé sur un autre site un exemple de ce que le client voudrait, mais c'est en Excel et donc je ne peux pas utiliser les codes pour le Word ! voir lien
    http://www.cijoint.fr/cjlink.php?fil...cijFoxsxXr.zip

    merci encore

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Excel et Word fonctionnent différemment sur ce coup là.

    Inforgraphiste, un maladie bizarre ?
    Ma fille est atteinte, il y a un lien vers son TFE dans ma signature.

    Voilà un exemple avec un combobox
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip BXL.zip (11,8 Ko, 116 affichages)
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut
    Hello,

    en effet Infographiste...drôle de maladie !!!
    Pas mal le TFE de votre fille !

    Je vous remercie pour votre exemple mais j'ai encore quelques petites questions... je ne voudrais pas abuser, mais j'ai modifié les codes du genre:

    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
    Option Explicit
     
    Private Sub ComboBox1_Change()
    Select Case Me.ComboBox1.Value
    Case "1000"
    MsgBox " Carte 1000.jpg "
    Case "1020"
    MsgBox "Carte 1020.jpg"
    Case "1050"
    MsgBox " Carte 1050.jpg "
    Case "1200"
    MsgBox " Carte 1200.jpg "
    End Select
    End Sub
     
    Sub Document_Open()
    Dim intI As Integer
    For intI = 1000 To 1200
     
    Me.ComboBox1.AddItem intI
    Next intI
    End Sub
    ça fonctionne partiellement !
    Les CP sont bien pris en compte, mais j'ai le "MsgBox" à la place de l'image !
    Je suppose que dans le code je dois modifié le titre 'MsgBox" par "Image"
    Comment puis-je faire pour que juste les 19 CP soient prise en compte, car là j'ai tout les chiffres de 1000 à 1200 qui sont dans la liste !
    Comment puis-je faire pour élargir la zone car les CP ne s'affichent pas, la zone est trop étroite !

    Désolée pour toutes ses question encore...mais on avance à ptit pas !

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Déjà que c'est pas facile avec 19 communes, si tu en mets 200

    Le code Document_New est exécuté lors de l'ouverture du document pour remplir la liste.

    Dans mon code, j'avais mis une boucle pour faire 4 lignes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For intI = 1 To 4
     
    Next intI
    Dans ton cas, il faudra faire ligne par ligne, puisque les codes postaux ne se suivent pas de façon arithmétique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me.ComboBox1.AddItem "1000"
    Me.ComboBox1.AddItem "1020"
    Me.ComboBox1.AddItem "1050"
    Me.ComboBox1.AddItem "1140"
    Et ce 19 fois.

    Pour ce qui est de l'image, dans mon exemple, je voulais simplement montrer qu'il était possible d'obtenir une action différente en fonction du choix de l'utilisateur.

    Les images peuvent être utilisées avec un champ image.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    { NCLUDEPICTURE  "C:\\Local Data\\kissing.gif" \d \x \y  \* MERGEFORMAT }
    http://heureuxoli.developpez.com/off...hamps/#LIV-D-3

    Donc, le but serait d'insérer le champ image au lieu de la MsgBox.
    Comme nous sommes en présence d'une table, on peut adresser les cellules de la table pour nos manipulations.


    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
    Private Sub ComboBox1_Change()
    'Déclaration d'un objet table
    Dim oTbl as Table
     
    'Affectation de l'objet table
    'Le (1) est pour la première table
    Set oTbl = ActiveDocument.Tables(1)
    Select Case Me.ComboBox1.Value
    Case "1000"
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1,2).Range, Type:=wdFieldEmpty, Text:="INCLUDePICTURE " & Chr(34) _
        & "c:\\temp\\" &  "Carte 1000.jpg " & Chr(34)
    Case "1020"
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1,2).Range, Type:=wdFieldEmpty, Text:="INCLUDePICTURE " & Chr(34) _
        & "c:\\temp\\" &  "Carte 1020.jpg " & Chr(34)
    Case "1050"
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1,2).Range, Type:=wdFieldEmpty, Text:="INCLUDePICTURE " & Chr(34) _
        & "c:\\temp\\" &  "Carte 1050.jpg " & Chr(34)
    Case "1140"
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1,2).Range, Type:=wdFieldEmpty, Text:="INCLUDePICTURE " & Chr(34) _
        & "c:\\temp\\" &  "Carte 1140.jpg " & Chr(34)
    End Select
     
    Set oTbl = Nothing
    End Sub
    On peut même aller plus loin dans le code en le simplifiant sans faire de test, on utilise alors le résultat pour donner le nom de l'image.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim oTbl  As Table
     
    Set oTbl = ActiveDocument.Table(1)
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1,2).Range, Type:=wdFieldEmpty, Text:="INCLUDePICTURE " & Chr(34) _
        & "c:\\temp\\" &  "Carte " & Me.combobox1.Value &".jpg " & Chr(34)
    Set oTbl = Nothing
    On peut même faire dans le "joli" en ajoutant une seconde colonne avec le nom des communes.

    Par exemple :

    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
    Sub PeuplerCombo()
     
    Dim myAray(2, 2) As String
     
    Me.ComboBox1.Clear
     
     
     
    myAray(1, 0) = "1000"
    myAray(1, 1) = "BXL"
    myAray(2, 0) = "1140"
    myAray(2, 1) = "Evere"
    Me.ComboBox1.ColumnCount = 2
     
    Me.ComboBox1.List() = myAray
     
    End Sub
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut
    rholala...ça se complique !

    je ne sais pas si j'ai compris !
    donc à la place de " 1 To 4"
    For intI = 1 To 4
    Next intI

    je dois mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ComboBox1.AddItem "1000"
    et cela 19 fois avec les différents CPou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For intI = Me.ComboBox1.AddItem "1000"
    et cela 19 fois avec les différents CP

    ???

    Et concernant les images... je met ou ce code ?
    { NCLUDEPICTURE "C:\\Local Data\\kissing.gif" \d \x \y \* MERGEFORMAT }

    car dans ton exemple c'est pas pareil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub ComboBox1_Change()
    'Déclaration d'un objet table
    Dim oTbl as Table
     
    'Affectation de l'objet table
    'Le (1) est pour la première table
    Set oTbl = ActiveDocument.Tables(1)
    Select Case Me.ComboBox1.Value
    Case "1000"
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1,2).Range, Type:=wdFieldEmpty, Text:="INCLUDePICTURE " & Chr(34) _
     & "c:\\temp\\" &  "Carte 1000.jpg " & Chr(34)

    désolé mais c'est vraiment po cool le VB il me semble !
    Pourtant va falloir que j'y arrive !

    merci encore pour ton aide
    ptitmau

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut
    Pas sur encore d'avoir capté , mais voilà ce que je propose comme code !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub ComboBox1_Change()
    Select Case ....
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1,2).Range, Type:=wdFieldEmpty, Text:="Inclusivement " & Chr(34) _
     & "c:\\temp\\" &  "Carte 1000.jpg " & Chr(34)
     
     
    End Select
    End Sub
    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
    Sub Document_Open()
    Me.ComboBox1.AddItem "1000"
    Me.ComboBox1.AddItem "1020"
    Me.ComboBox1.AddItem "1030"
    Me.ComboBox1.AddItem "1040"
    Me.ComboBox1.AddItem "1050" 
    Me.ComboBox1.AddItem "1060"
    Me.ComboBox1.AddItem "1070"
    Me.ComboBox1.AddItem "1080"
    Me.ComboBox1.AddItem "1083"
    Me.ComboBox1.AddItem "1090"
    Me.ComboBox1.AddItem "1120"
    Me.ComboBox1.AddItem "1130"
    Me.ComboBox1.AddItem "1140"
    Me.ComboBox1.AddItem "1150"
    Me.ComboBox1.AddItem "1160"
    Me.ComboBox1.AddItem "1170"
    Me.ComboBox1.AddItem "1180"
    Me.ComboBox1.AddItem "1190"
    Me.ComboBox1.AddItem "1200"
     
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Me.ComboBox1.AddItem intI
    Next intI
    End Sub
    Si le début ok...je suppose que je dois inclure les 19 images
    avec le même code que ça:
    Type:=wdFieldEmpty, Text:="Inclusivement " & Chr(34) _
    & "c:\\temp\\" & "Carte 1000.jpg " & Chr(34)

    N'hésite pas de me dire si je suis vraiment une grosse nul hein

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut
    Hello,

    J'ai encore fait des essaie et ça donne ça (voir piece jointe)

    Le code:
    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
    Sub ComboBox1_Change()
    Select Case 1000.jpg
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1, 2).Range, Type:=wdFieldEmpty, Text:="Inclusivement " & Chr(34) _
    & "c:\\temp\\" & "1000.jpg " & Chr(34)
     
     
    End Select
    End Sub
     
    Sub Document_Open()
    Me.ComboBox1.AddItem "1000"
    Me.ComboBox1.AddItem "1020"
    Me.ComboBox1.AddItem "1030"
    Me.ComboBox1.AddItem "1040"
    Me.ComboBox1.AddItem "1050"
    Me.ComboBox1.AddItem "1060"
    Me.ComboBox1.AddItem "1070"
    Me.ComboBox1.AddItem "1080"
    Me.ComboBox1.AddItem "1083"
    Me.ComboBox1.AddItem "1090"
    Me.ComboBox1.AddItem "1120"
    Me.ComboBox1.AddItem "1130"
    Me.ComboBox1.AddItem "1140"
    Me.ComboBox1.AddItem "1150"
    Me.ComboBox1.AddItem "1160"
    Me.ComboBox1.AddItem "1170"
    Me.ComboBox1.AddItem "1180"
    Me.ComboBox1.AddItem "1190"
    Me.ComboBox1.AddItem "1200"
     
     
    End Sub
     
    Me.ComboBox1.AddItem intI
    Next intI
    End Sub
    Je progresse non ?

  10. #10
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Pour les nuls, j'ai vu pire

    Pour remplir le combo, le code est le bon.

    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
     
    Sub Document_Open()
    Me.ComboBox1.AddItem "1000"
    Me.ComboBox1.AddItem "1020"
    Me.ComboBox1.AddItem "1030"
    Me.ComboBox1.AddItem "1040"
    Me.ComboBox1.AddItem "1050"
    Me.ComboBox1.AddItem "1060"
    Me.ComboBox1.AddItem "1070"
    Me.ComboBox1.AddItem "1080"
    Me.ComboBox1.AddItem "1083"
    Me.ComboBox1.AddItem "1090"
    Me.ComboBox1.AddItem "1120"
    Me.ComboBox1.AddItem "1130"
    Me.ComboBox1.AddItem "1140"
    Me.ComboBox1.AddItem "1150"
    Me.ComboBox1.AddItem "1160"
    Me.ComboBox1.AddItem "1170"
    Me.ComboBox1.AddItem "1180"
    Me.ComboBox1.AddItem "1190"
    Me.ComboBox1.AddItem "1200"
     
     
    End Sub
    Pour le combo, ce code devrait le faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub ComboBox1_Change()
     
    Dim oTbl  As Table
     
    Set oTbl = ActiveDocument.Table(1)
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1,2).Range, Type:=wdFieldEmpty, Text:="INCLUDePICTURE " & Chr(34) _
        & "c:\\temp\\" &  "Carte " & Me.combobox1.Value &".jpg " & Chr(34)
    Set oTbl = Nothing
    End Sub
    Juste le chemin à changer C:\\Temp\\ par le chemin que tu souhaites utiliser.
    Ne pas oublier que dans les champs, ce sont des doubles \ .

    Explications :
    Dans la seconde cellule de la première ligne Range:=oTbl.Cell(1,2).Range on va ajouter un champ ActiveDocument.Fields.Add
    Le texte de ce champ sera le type , les chr(34) vont retourner une ", parce que dans le code VBA ce caractère est utilisé pour délimiter les variables de type texte or, nous avons besoin de ce caractère dons j'utilise une fonction qui va renvoyer le caractère en fonction de son code ASCII
    http://heureuxoli.developpez.com/off...=page13#13-A-7
    Avec ce morceau "Carte " & Me.combobox1.Value &".jpg " & Chr(34) on va recomposer le nom du fichier en utilisant la valeur choisie dans la liste.
    Les & sont utilisés pour concaténer les chaînes de caractères.

    En résumé, si tu choisis 1140 dans la liste, le texte renvoyé sera :

    INCLUDEPICTURE "c:\\temp\\Carte 1140.jpg "

    Et il sera inclu dans le champ.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut
    tu veux dire par Juste le chemin à changer C:\\Temp\\ par le chemin que tu souhaites utiliser.
    Ne pas oublier que dans les champs, ce sont des doubles \ ."


    que je dois remplir ça comme ça par exemple ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub ComboBox1_Change()
     
    Dim oTbl  As Table
     
    Set oTbl = ActiveDocument.Table(1)
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1, 2).Range, Type:=wdFieldEmpty, Text:="INCLUDePICTURE " & Chr(34) _
        & "c:\\Boulot\\" & "Carte " & Me.ComboBox1.Value & "1000.jpg " & Chr(34)
    Set oTbl = Nothing
    End Sub

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut
    j'essaie encore demain ou dimanche, là ma journée est finie !
    je te souhaite une bonne soirée et un bon wk
    merci encore
    Ptitmau

  13. #13
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Non.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveDocument.Fields.Add Range:=oTbl.Cell(1, 2).Range, Type:=wdFieldEmpty, Text:="INCLUDePICTURE " & Chr(34) _
    & "c:\\Boulot\\" & "Carte " & Me.ComboBox1.Value & ".jpg " & Chr(34)
    Le 1000 ou autre sera donné par Me.ComboBox1.Value
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  14. #14
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Je ne sais pas expliquer, si j'utilise un autre tableau, ça fonctionne.

    J'ai donc changé d'option.
    En utilisant un InlineShape, on peut redimentionner l'image.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub ComboBox1_Change()
    Dim inSh As InlineShape
    Dim otbl As Table
    Set otbl = ActiveDocument.Tables(1)
    otbl.Cell(3, 3).Select
    Selection.Collapse direction:=wdCollapseStart
     
    Set inSh = ActiveDocument.InlineShapes.AddPicture(FileName:="C:\temp\p\" & Me.ComboBox1.Value & ".jpg", Range:=Selection.Range)
    inSh.Height = CentimetersToPoints(2)
    inSh.Width = CentimetersToPoints(2)
     
     
    End Sub
    Essaie ce code.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut
    B'soir,
    en vitesse avant d'aller dodo.

    J'ai essayé en agrandissant x2 l'image en photoshop et la ça à l'air de fonctionner correctement ! J'essaye encore demain et te dis quoi !

    Par contre...est ce normal que les images se superposent ?
    Pour le moment je dois effacer l'image avant de cliquer sur un autre CP.

    Je suppose que pour le chemin je vais devoir lui demander sur quel emplacement il compte le mettre et modifier le code en fonction ?!

    Je te souhaite une très bonne nuit
    @+
    et merci encore...on y est presque je pense

  16. #16
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    On peut effacer l'image précédente par code.

    Mais perso, je pense que c'est un modèle que tu dois utiliser et pas un document, de cette manière, tu pars à chaque fois avec un document "propre".
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Par défaut
    b'Zour,

    J'ai regarder un peu ce matin, mais je rencontre encore des problèmes.
    J'ai en effet copier le petit tableau dans le fichier original et plus rien ne fonctionne ! J'ai fais les test avec le Word 2007 et je l'ai pourtant enregistré sous le format.doc pour un 97/2003.
    En ouvrant juste notre tableau d'essai dans le 2003 ça fonctionne, mais quand je le copie dans le fichier ...broquette, les images n'apparaissent et j'ai à nouveau un message d'erreur !
    Je l'ai pourtant enregistré dans le même dossier que le test et les images.

    Là je dois partir pour des rdv client, je regarderai cela encore taleur.
    Mais si tu sais ce que ça pourrais être comme problème You are welcome !



    bàt
    Ptitmau

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouvrir des images contenu dans le jar
    Par Seb33300 dans le forum Applets
    Réponses: 1
    Dernier message: 24/05/2007, 12h10
  2. Ouvrir des images sur le serveur
    Par Seb33300 dans le forum Applets
    Réponses: 5
    Dernier message: 11/05/2007, 14h24
  3. Un pourcentage qui monte (lorsque des images se chargent)
    Par sansamis dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/01/2007, 15h24
  4. Réponses: 2
    Dernier message: 07/06/2006, 11h44
  5. [CSS] menu deroulant qui deplace le texte
    Par titor dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 05/02/2006, 17h52

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