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 :

Renuméroter une liste de noms dans Word


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Homme Profil pro
    en retraite
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : en retraite

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Renuméroter une liste de noms dans Word
    Bonjour,
    J’ai besoin de renommer une liste de noms dans Word en incrémentant une partie seulement des chiffres que contiennent ces noms. (même dans Excel la recopie incrémentée ne marche pas car les noms ne se terminent pas par un chiffre ; autrement j’aurais pu travailler la liste dans Excel ; en outre la longueur des noms excède la largeur maximale d’une cellule ; dans mon exemple, j’ai considérablement raccourci les noms)
    Exemple :
    Voilà ma liste :
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0001.JPG
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0001.JPG
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0001.JPG GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0001.JPG
    Et voilà ce que désire obtenir :
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0001.JPG
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0002.JPG
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0003.JPG
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0004.JPG
    Une précision : je suis un débutant qui espère ne pas perturber le forum…
    Cordialement
    Dominomare

  2. #2
    Candidat au Club
    Homme Profil pro
    en retraite
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : en retraite

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut une précision
    Re bonjour,
    il faut enledver un zéro lorsqu'on passe aux dizaines et deux lorsqu'on passe aux centaines.
    Exemple:
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0001.JPG
    ****
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0010.JPG
    ***
    GUILLEMIN_05026%252FFRAD_Z_GUILLEMIN_05026_0100.JPG
    Bonne journée
    Domi

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

    Sans VBA et à partir d'Excel, vous pourriez récupérer la racine des noms de fichiers avec la fonction STXT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =STXT(A1;1;NBCAR(A1)-8)
    ' Si la longueur de la racine est constante, il vaudrait mieux écrire : 
    =STXT(A1;1;43)
    43 étant le nombre de caractères de votre exemple. Les cas avec redondance de noms pourraient être traités à la marge manuellement.

    - Puis à partir d'un tri sur cette colonne, incrémenter les numéros à partir du menu Accueil-Remplissage-Série dans une deuxième colonne en répétant l'opération autant de fois que de nouvelles racines.


    -Recomposer le nom dans une troisième colonne en concaténant les deux colonnes créées et en ajoutant l'extension .JPG :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SI(C1<10;B1&"000"&C1;SI(ET(C1>=10;C1<100);B1&"00"&C1;B1&"0"&C1))&".JPG"

  4. #4
    Candidat au Club
    Homme Profil pro
    en retraite
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : en retraite

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Renuméroter une liste de noms dans Word
    Bonjour,
    Je vous remercie pour votre aide. Je vais expérimenter ce que vous m'indiquez et je vous tiens au courant.
    Bonne journée
    Dominique

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    En VBA, on peut le faire avec les fonctions texte traditionnelles.

    Il y a Left; Right et Mid.
    Left()
    Ex :
    Left("Olivier";2) donnera comme résultat Le

    Right()
    Ex :
    Right("Olivier", 2) donnera comme résultat er

    Mid()

    Ex :
    Mid("Olivier",2,2) donnera comme résultat li

    Une concaténation peur reconstruire la chaîne de caractères.

    Par exemple
    left("Olivier",2) & mid("Olivier",3,3) & right("Olivier",2) donnera comme résultat Olivier

    Dans ce cas, pas besoin d'ouvrir un logiciel supplémentaire.

    On peut travailler sur tout le document ou simplement sur une partie sélectionnée.
    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 !

  6. #6
    Candidat au Club
    Homme Profil pro
    en retraite
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : en retraite

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Renuméroter une liste de noms dans Word
    Citation Envoyé par dominomare Voir le message
    Bonjour,
    Je vous remercie pour votre aide. Je vais expérimenter ce que vous m'indiquez et je vous tiens au courant.
    Bonne journée
    Dominique
    Bonjour,
    J'ai dû m'absenter quelques jours et je n'ai pas eu le temps de vous remercier. Votre feuille marche très bien et m'a permis de faire ce que je voulais. Je l'ai cependant un peu plus adaptée à mes besoins. Les noms des fichiers étaient très longs (beaucoup plus longs que dans l'exemple que je vous avais donné. J'ai dû les "ajuster à la cellule" pour ne pas avoir une feuille illisible. Pour ne pas recopier le nom plusieurs fois j'ai fait une "référence absolue" (je crois que c'est le terme) à la cellule dans laquelle je place le nom du fichier à recopier plusieurs fois en le renumérotant.
    Ne travaillant pas souvent sur Excel votre aide m'a à la fois permis de faire la feuille que je voulais faire et m'a permis de progresser dans l'utilisation d'Excel.
    Un grand merci donc.
    Dominomare

  7. #7
    Candidat au Club
    Homme Profil pro
    en retraite
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : en retraite

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Renuméroter une liste de noms dans Word
    Citation Envoyé par Heureux-oli Voir le message
    Salut,

    En VBA, on peut le faire avec les fonctions texte traditionnelles.

    Il y a Left; Right et Mid.
    Left()
    Ex :
    Left("Olivier";2) donnera comme résultat Le

    Right()
    Ex :
    Right("Olivier", 2) donnera comme résultat er

    Mid()

    Ex :
    Mid("Olivier",2,2) donnera comme résultat li

    Une concaténation peur reconstruire la chaîne de caractères.

    Par exemple
    left("Olivier",2) & mid("Olivier",3,3) & right("Olivier",2) donnera comme résultat Olivier

    Dans ce cas, pas besoin d'ouvrir un logiciel supplémentaire.

    On peut travailler sur tout le document ou simplement sur une partie sélectionnée.
    Merci de votre aide. Maintenant que la feuille me donne satisfaction je vais essayer de faire la même chose en VBA en suivant vos conseils.
    Merci pour le temps que vous m'avez accordé.
    DOMINOMARE

  8. #8
    Candidat au Club
    Homme Profil pro
    en retraite
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : en retraite

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Renuméroter une liste de noms dans Word
    Bonsoir,
    Je sais que ma question était une question de "débutant". Les réponses m'ont été très utile. Pourtant je me demande si c'était bien sur ce forum qu'il fallait que je la pose (ou sur quel autre?)
    Merci à tous
    DOMINOMARE

  9. #9
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Je dirais que oui, c'est le bon forum.
    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 !

  10. #10
    Candidat au Club
    Homme Profil pro
    en retraite
    Inscrit en
    Juillet 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : en retraite

    Informations forums :
    Inscription : Juillet 2017
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Renuméroter une liste de noms
    Merci donc à tous les patients pédagogues de ce forum
    DOMINOMARE

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

Discussions similaires

  1. Dupliquer un fichier à partir d'une liste de noms dans un fichier txt
    Par bigs3232 dans le forum Shell et commandes GNU
    Réponses: 36
    Dernier message: 03/07/2017, 14h46
  2. Réponses: 2
    Dernier message: 09/10/2014, 14h03
  3. Répéter une liste de nom dans chaque Onglet
    Par sony25 dans le forum Excel
    Réponses: 1
    Dernier message: 04/12/2011, 15h07
  4. [RegEx] Capturer liste de noms dans une chaine
    Par Rem693 dans le forum Langage
    Réponses: 1
    Dernier message: 25/10/2009, 08h13
  5. Chercher dans une liste de nom et noter le classement
    Par gla_dtc dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/05/2007, 06h05

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