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

Word Discussion :

Numérotaion Automatique de document pas à la bonne place


Sujet :

Word

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut Numérotaion Automatique de document pas à la bonne place
    Bonjour,

    pour la numérotation automatique de bon de commande j'ai appliqué la méthode suivante : A partir d'un modèle WORD, d'incrémenter un numéro chronologique à chaque création de document basé sur ce modèle.

    pour ce qui est de la numérotation dans le document et du fichier ça fonctionne.

    Par contre le numéro ne se place pas à l'endroit ou je crée l'insertion automatique.

    J'ai initialement créé le document sous Word 2010, mais j'ai aussi essayé sous Word 2003 et j'ai le même problème.

    J'ai ensuite pensé que le numéro devait se mettre à la première ligne sous l'entête puisque à chacun de mes essais c'est là que le numéro se mettait et donc j'ai déplacé le texte qui s'y trouvait(nom et adresse de ma boite sur plusieurs lignes) pour y mettre l'insertion automatique du numéro de bon de commande et là le numéro se met toujours devant le nom de ma boite soit deux lignes en dessous et je pense que si je déplace ce texte en bas de page ça continuera a me mettre le numéro devant le nom de la boite.

    Si vous avez des suggestions?

    Merci.

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    j'ai pu avancer sur le problème

    je suis parti d'un document lettre type avec en-tête et pied de page déjà créé et la zone d'en-tête ne comprenant qu'un logo a été définie bien plus basse que la fin de l'image

    du coup même si j'arrive a écrire ou créer un tableau directement en dessous du logo et que je place l'insertion automatique a proximité, la macro ne peut pas écrire dans la zone d'en-tête et donc le numéro s'affiche à la première ligne sous la zone d'en-tête.

    sachant cela j'ai pu modifier mon document et obtenir quelque chose de correct.

    cela dit on doit bien pouvoir choisir l'endroit sur le document où sera inscrit le numéro?

    J'attends un peu avant de marquer résolu au cas ou quelqu'un trouve.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par olivierbmnt Voir le message
    Bonjour,

    Désolé, mais on a du mal à comprendre ce que vous souhaitez faire réellement.
    Mettez des vidages d'écran (situation actuelle et ce que vous souhaitez obtenir au final) et votre code en ligne.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    le code est:

    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
    Sub AutoNew()
    Dim Num, chemin_doc As String
    'Mettre le chemin du dossier où doit se trouver le document
    dossier = "C://ROTOGARONNE/BON DE COMMANDE/"
    'Mettre le nom par défaut du fichier nouvellement créé
    nom_nouveau_doc = "Bon de commande JFJ_"
    On Error GoTo erreur:
      Num = ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value
      Num = Num + 1
      ActiveDocument.AttachedTemplate.AutoTextEntries("numéro").Value = Num
      Num = Right("00000" & Num, 5)
      Selection.TypeText Text:="Commande n° : " & Num
      ActiveDocument.AttachedTemplate.Save
      ActiveDocument.SaveAs FileName:=dossier & nom_nouveau_doc & Num & ".doc"
      Exit Sub
     
    erreur:
    MsgBox "Une erreur est survenue"
    End Sub
    Mon problème et ce que je souhaite faire est expliqué sur l'image suivante:

    Nom : Sans titre 1.jpg
Affichages : 284
Taille : 67,0 Ko

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par olivierbmnt Voir le message
    Testez ce 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
     
    Sub TestMettreEnPlaceLeNumeroDeCommande()
     
        MettreEnPlaceLeNumeroDeCommande ActiveDocument, "00001"
     
    End Sub
     
    Sub MettreEnPlaceLeNumeroDeCommande(ByVal DocEnCours As Document, ByVal NumeroDeCommande As String)
     
    Dim MaTable As Table
     
          On Error GoTo Fin
     
          With DocEnCours.Sections(1)
     
                 If .Headers.Count > 0 Then
                    If .Headers(1).Range.Tables.Count > 0 Then
                       Set MaTable = .Headers(1).Range.Tables(1)
                       With MaTable
                            .Range.Cells(1).Range.Text = NumeroDeCommande
                       End With
                    End If
                End If
          End With
     
          GoTo Fin
     
    Fin:
     
         Set MaTable = Nothing
     
    End Sub
    Sinon, pour le reste du document, utilisez un signet pour positionner votre numéro de commande.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    désolé j'ai été un peu occupé ces derniers jours.

    Merci pour votre réponse.

    par contre pouvez-vous préciser si je dois utiliser votre code en complément de l'autre ou à la place de l'autre ?

    de plus je ne vois pas en quoi un signet peut me permettre de positionner le numéro où je le souhaite.

    Cordialement.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par olivierbmnt Voir le message
    Bonjour,

    Visiblement en complément.

    de plus je ne vois pas en quoi un signet peut me permettre de positionner le numéro où je le souhaite.
    Si vous devez ajouter ce numéro dans en dehors de l'entête par exemple.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    désolé j'ai été pas mal occupé ces derniers temps

    je galère toujours pour la numérotation automatique

    ça fonctionnait sous Word 2003 et Word 2010, sauf que le numéro ne se mettait pas à la bonne place

    j'avais fini par trouver un compromis mais ce sont les formules dans le document qui ne fonctionnaient plus

    bref, maintenant je suis passé sous Office 2019, mais la macro ne fonctionne pas, il y a une erreur mais sans plus de détail

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par olivierbmnt Voir le message
    Bonjour,

    Je n'ai pas trop le temps en ce moment, mais mettez un fichier en ligne.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    je joint le fichier

    je souhaiterais que le numéro apparaisse à la ligne juste sous le tableau où il y a la date, sous la forme "Commande n°: #####"

    et si possible de pouvoir démarrer la numérotation à partir d'un numéro non nul c'est à dire que le premier document créé ait par exemple le numéro 09876 (09875+1) au lieu de 00001, histoire d'avoir une continuité avec l'ancien système.

    Merci.
    Fichiers attachés Fichiers attachés

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par olivierbmnt Voir le message

    Mon code fonctionne si vous installez un tableau dans l'entête comme dans le vidage d'écran ci-dessous :
    La cellule 2 est fusionnée (cf code).
    Pièce jointe 512324

    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
     
    Sub TestMettreEnPlaceLeNumeroDeCommande()
     
        MettreEnPlaceLeNumeroDeCommande ActiveDocument, "00001"
     
    End Sub
     
    Sub MettreEnPlaceLeNumeroDeCommande(ByVal DocEnCours As Document, ByVal NumeroDeCommande As String)
     
    Dim MaTable As Table
     
          On Error GoTo Fin
     
          With DocEnCours.Sections(1)
     
                 If .Headers.Count > 0 Then
                    If .Headers(1).Range.Tables.Count > 0 Then
                       Set MaTable = .Headers(1).Range.Tables(1)
                       With MaTable
                            .Range.Cells(2).Range.Text = "BON DE COMMANDE " & NumeroDeCommande
                       End With
                    End If
                End If
          End With
     
          GoTo Fin
     
    Fin:
     
         Set MaTable = Nothing
     
    End Sub
    Le fichier que vous avez mis en ligne n'est pas le fichier .dotm qui doit vous servir de modèle comme le montre votre code dans votre 3ème message. Sauf publipostage ou interaction avec Excel, je ne vois pas de solution pour incrémenter votre numéro depuis votre template.

    Plan B : Pour faire ce que vous souhaitez, je le fais directement sur Excel.

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup, je vais essayer ça.

    je vous ai fourni le fichier de base en docx, mais je le transforme en dotm en suivant la procédure que j'avais trouvé avec le code.

    je vous tiens au courant.

    Encore merci

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par olivierbmnt Voir le message
    Le lien suivant vous indique une méthode pour sauvegarder vos données (le dernier numéro utilisé) dans la collection Variables d'un document Word. Sauvegarder-lire-macro-infos-collection-variables-document-word/. Mais cela veut dire que ce stockage soit réalisé dans le .dotm et non dans le fichier final.

    Résultat : Si vous essayez d'utiliser votre fichier .dotm comme générateur de numéro, cela va vite ressembler à une usine à gaz, c'est pour cette raison que je ne vous ai pas suggéré cette méthode dans mon précédent mail.

    Le plus simple me semble d'aller chercher un numéro dans une table Excel le moment opportun.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Désolé, ça ne fonctionne pas chez moi

    il doit y avoir quelque chose que je ne fait pas correctement

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par olivierbmnt Voir le message
    Mon fichier.

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    ça risquait pas de fonctionner, j'avais juste copié votre code au lieu de le mettre à la suite de l'autre

    mais bon avec le fichier que vous m'avez renvoyé ça ne fonctionne pas non plus

    finalement, comme vous me l'avez suggéré, je suis parti sur une liaison avec un tableau excel

    c'est un peu plus fastidieux car il y a deux fichiers à gérer mais bon

    je vous remercie pour le temps que vous m'avez consacré

  17. #17
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par olivierbmnt Voir le message
    Si vous utilisez mon fichier et si vous changez le numéro, vous voyez bien que le code fonctionne correctement. Votre problème vient d'une mauvaise transposition du code.
    Pièce jointe 512634

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    comment ça "si vous changez le numéro" ???

  19. #19
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par olivierbmnt Voir le message
    comment ça "si vous changez le numéro" ???

    Le numéro est un paramètre dans MettreEnPlaceLeNumeroDeCommande : Ici "00001". En le modifiant et en lançant la macro, le numéro sera mis à jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub TestMettreEnPlaceLeNumeroDeCommande()
     
        MettreEnPlaceLeNumeroDeCommande ActiveDocument, "00001"
     
    End Sub

  20. #20
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juillet 2019
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    donc si je comprends bien je doit modifier la valeur du paramètre MettreEnPlaceLeNumeroDeCommande ActiveDocument, "00001", je mets par exemple "00002" et je lance la macro, c'est bien ça?

Discussions similaires

  1. Image qui n'est pas à la bonne place sous IE
    Par nanard74 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/11/2011, 00h04
  2. Objet pas à la bonne place
    Par jd_83 dans le forum Tkinter
    Réponses: 2
    Dernier message: 09/07/2011, 18h11
  3. page footer pas à la bonne place dans sous rapport
    Par Invité dans le forum Jasper
    Réponses: 2
    Dernier message: 13/07/2007, 12h30

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