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 :

Accès aux formes de cellules d'un tableau


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jeff1494
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut Accès aux formes de cellules d'un tableau
    Bonjour à toutes et tous;

    Je dois imprimer un lot d'étiquettes, et j'ai donc récupéré un modèle depuis le site du fabricant d'étiquettes (cf document joint).
    Par contre comme chaque étiquette est différente je voudrais passer par des formulaires me permettant la saisie des données à faire figurer sur les étiquettes.
    Je connais VBA Excel, mais je ne connais pas VBA pour Word.

    Donc dans l'idée voilà ce que je voudrais faire :

    • Un premier formulaire pour la saisie de la première étiquette disponible, qui ensuite appelle l'affichage du deuxième formulaire.
    • Un deuxième formulaire pour la saisie des données de l'étiquette. A savoir un code couleur, un code élément, et les valeurs RGB de la couleur de fond pour l'étiquette, et mettre à jour l'étiquette. Puis ensuite, grâce à un bouton, réinitialiser les données et passer à la saisie de l'étiquette suivante. Et ainsi de suite.


    Je suis capable de maitriser les formulaires, le contrôle des données saisies, mais là ou cela se corse, c'est d'accéder à la bonne étiquette, puis de la remplir.
    C'est la première fois que je dois travailler un tableau sous Word.

    Vous verrez sur le fichier, que je joins au message, les étiquettes sont des formes, rondes avec une bordure rouge, placées dans chaque cellule du tableau matérialisant une page (format A4).

    JFC-Etiquettes.docx

    Quelqu'un aurait-il la gentillesse de m'expliquer comment je dois m'y prendre.
    Je ne demande pas de le faire à ma place mais de m'expliquer (avec un exemple pourquoi pas) comment résoudre mon problème.

    En attendant je vous remercie d'avance pour le temps que vous passerez à m'aider, et vous souhaite à toutes et tous une bonne journée.

  2. #2
    Membre très actif
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 382
    Par défaut
    Bonjour,

    Votre document a-t-il été retravaillé ? Certaines formes ne sont pas dans les bonnes cellules.

  3. #3
    Membre confirmé Avatar de jeff1494
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut
    Bonjour;
    Merci E KERGRESSE d'avoir jeté un œil sur mon problème.

    Ce document n'a pas été retouché, je l'ai téléchargé depuis le site du fabricant des étiquettes (Herma).
    En fait le tableau comporte 15 colonnes et 23 lignes, mais les colonnes et lignes paires sont très réduites.

    Cela à cause de la feuille d'étiquettes, car les petites colonnes et lignes permettent de gérer l'espace entre les étiquettes sur la feuille à imprimer au format A4.

    A force de réfléchir comment je pourrais faire, je me suis aperçu que j'étais bien trop ambitieux par rapport à mes connaissances, et donc je vais simplifier toute la mécanique que je voulais mettre en place.
    Un seul écran pour la saisie des données.

    Nom : Ecran-saisie.JPG
Affichages : 138
Taille : 124,8 Ko

    Puis je ne vais pas m'enquiquiner a essayer de ne colorer que le fond de la forme, mais toute la cellule du tableau.

    En fait ces étiquettes sont rondes et font 2cm de diamètre, et donc en colorant toute la cellule, je risque moins d'être embêté pour le cadrage du papier sur l'imprimante.

    La bordure rouge symbolisant l'étiquette doit être supprimée avant l'impression, et je ferais cela directement dans la macro.

    Par contre si vous aviez la gentillesse de me montrer comment colorer le fond de la cellule du tableau et ce basé sur 3 nombres saisis correspondant aux 3 valeurs du code RGB de la couleur.

    Dans tous les cas je vous remercie pour votre attention et le temps passé à regarder mon problème, et je reste à votre disposition si vous avez d'autres questions.

    Je vous souhaite une bonne journée.

  4. #4
    Membre très actif
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 382
    Par défaut
    Citation Envoyé par jeff1494 Voir le message
    Bonjour,

    Sachant que plusieurs formes sont dans des cellules séparatrices, cela ne servira à rien.

    Regardez ce code, il m'a permis de voir où se situaient les formes par rapport aux cellules du tableau. Les formes sont repérées par rapport à la ligne, la colonne et le numéro d'ordre dans la cellule. Et c'est là le problème car ce numéro devrait être toujours égal à 1, mais on peut avoir jusqu'à 7 formes dans une cellule. Pour mieux voir et pour sélectionner, activez le volet sélection pour avoir la liste des formes.

    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
    Sub RenommerLesEtiquettes()
     
    Dim DocEnCours As Document
    Dim I As Long, J As Long, K As Long
     
        Set DocEnCours = ActiveDocument
        With DocEnCours
             Debug.Print .Tables.Count & ", lignes : " & .Tables(1).Rows.Count & ", colonnes : " & .Tables(1).Columns.Count
             For I = 1 To .Shapes.Count
                .Shapes(I).Name = "Shapes" & I
             Next I
             With .Tables(1)
                  For I = 1 To .Rows.Count
                      For J = 1 To .Columns.Count
                         With .Cell(I, J)
                              If .Range.ShapeRange.Count > 0 Then
                                 For K = 1 To .Range.ShapeRange.Count
                                     Debug.Print I & ", " & J & ", " & .Range.ShapeRange.Count & ", " & .Range.ShapeRange(K).Name
                                     .Range.ShapeRange(K).Name = "Etiquette_" & Format(I, "00") & "_" & Format(J, "00") & "_" & Format(K, "00")
                                 Next K
                              End If
                         End With
     
     
                      Next J
     
                  Next I
             End With
     
     
        End With
        Set DocEnCours = Nothing
     
     
    End Sub

    Le fichier joint contient mon code et un userform. Une des procédure permet de mettre à jour le contenu et la couleur de la forme mais je n'ai pas modifié le userform pour définir les codes rgb, ils sont codés en dur dans la procédure. Pour lancer le userform cliquez sur le bouton vert à droite de la barre d'accès rapide.

    JFC-Etiquettes.zip

    Question : Vous faites du publipostage avec ce document ?

  5. #5
    Membre confirmé Avatar de jeff1494
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Par défaut
    Bonjour E KERGRESSE;

    Encore merci pour votre aide.
    Je vais regarder de près ce que vous avez posté, car j'ai beaucoup à apprendre en ce qui concerne VBA Word. J'ai eu quelques expériences en VBA Excel, et j'avoue que là avec Word c'est tout autre chose.

    Je pense que je vais retravailler ce document pour faire disparaitre ces formes, car elles ne servent qu'à visualiser l'étiquette pour s'assurer du bon cadrage du texte sur l'étiquette. Je dois dans tous les cas supprimer la couleur de bordure de la forme pour ne pas l'avoir lors de l'impression.

    Bref, ces formes m'ont plus dérangé qu'aidé. C'est seulement maintenant que je m'en rend compte. Je suis désolé si mon changement d'idée vous a fait perdre du temps. Mais je vous remercie pour votre aide. J'aurais encore certainement plusieurs questions a poser et j'espère que vous aurez encore la gentillesse de vous arrêter sur mon problème.

    Pour répondre à votre question, non je ne fais pas de publipostage avec ce document.

    En fait mon épouse pratique ce que l'on appelle la "Diamond painting". C'est une activité qui consiste à poser sur un canevas adhésif numéroté des petites pièces carrées en plastique de couleur (ce que l'on appelle des "diamants") afin de réaliser une espèce de tableau.

    Elle a donc plusieurs références de "diamants" chacun d'une couleur différente, et pour les stocker, des petites fioles cylindriques en plastique transparentes.

    Pour s'y retrouver plus facilement je veux créer des étiquettes à coller sur les fioles, avec sur l'étiquette la référence de la couleur sur le canevas (symbolisé par un caractère souvent un chiffre, mais aussi par des caractères du genre "#" par exemple), ainsi qu'un code couleur qui est défini par le code de couleur venant de la marque de fil à broder "DMC". J'ai obtenu un document avec toutes les références DMC ainsi que le code RGB de leur couleur.

    C'est pour cela que je voudrais pouvoir remplir les étiquettes avec ces deux codes, et mettre en fond d'étiquette la couleur qu les codes représentent (d’où cette demande avec les codes RGB).

    Voilà en souhaitant que ces explications ne sont pas trop ennuyeuses.
    Je vous souhaite une bonne journée.

  6. #6
    Membre très actif
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 382
    Par défaut
    Citation Envoyé par jeff1494 Voir le message
    Je pense que ce serait plus simple avec un tableau Excel.

Discussions similaires

  1. [OpenOffice][Dessin] [Macro LibreOffice Basic] - Comment avoir accès aux formes de Draw en LibreOffice Basic ?
    Par PatrickFr dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 08/12/2015, 23h41
  2. Réponses: 4
    Dernier message: 17/08/2012, 17h10
  3. [XL-2003] Mise en forme de cellule dans un tableau croisé dynamique ?
    Par marot_r dans le forum Excel
    Réponses: 3
    Dernier message: 12/10/2011, 01h18
  4. accès en modification à une cellule d'un tableau
    Par SmileSoft dans le forum JBuilder
    Réponses: 0
    Dernier message: 12/11/2008, 22h07
  5. [Struts]Accès aux Form en session depuis execute?
    Par odoli dans le forum Struts 1
    Réponses: 4
    Dernier message: 07/12/2004, 13h55

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