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 :

[VBA-W]Alphanumérisation automatique


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Par défaut [VBA-W]Alphanumérisation automatique
    Bonjour,

    Je crée un programme afin d'insérer un tableau de 3 colonnes dans un document vide et seule la première colonne sera renseignée en fonction des éléments suivants :
    1 - Demande du nombre de parties à créer (ce qui va définir le nombre de lignes du tableau)
    2 - Demande du numéro de dossier (ex. 88888). Cet élément sera inséré sur chaque ligne de la première colonne.
    3 - Enfin par rapport au nombre de lignes et au numéro de dossier il faut que la première colonne soit renseignée automatiquement avec le numéro de dossier et une alphanumérisation automatique

    Exemple avec 5 parties à créer et numéro de dossier = 88888
    1re ligne du tableau : 88888a
    2e ligne du tableau : 88888b
    3e ligne du tableau : 88888c
    4e ligne du tableau : 88888d
    5e ligne du tableau : 88888e

    Je ne trouve pas la solution pour créer une alphanumérisation automatique.

    J'espère avoir été assez claire

    Merci beaucoup pour votre aide !

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    tu peu utiliser chr... ( attention 26 lignes max...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Test()
      Dim c As Byte
      Dim i As Integer
     
      c = Asc("a")
     
      For i = 0 To 4
       Debug.Print "88888" & Chr(c + i)
      Next
     
    End Sub

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Par défaut
    Merci beaucoup pour votre réponse mais j'ai encore un souci.

    Je vous mets les lignes d'écriture du programme et le résultat qui s'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For Each Cell In ActiveDocument.Tables(1).Columns(1).Cells
         Cell.Select
         For i = 0 To nbmorceaux
             Cell.Range.Text = NumDoss & Chr(c + i) & ".rtf"
             'i = i + 1
         Next
    Next
    - sachant que nbmorceaux représente le nombre de morceaux donc le nombre de lignes du tableau (les lignes du tableau étant déjà créées auparavant dans le programme ;
    - sachant que NumDoss correspond à mon numéro de dossier déjà défini auparavant également.

    Voici le résultat affiché si mon numéro de dossier est le 88888 et que le nombre de morceaux est de 5

    88888e
    88888e
    88888e
    88888e
    88888e

    Alors que je voudrais obtenir :

    88888a
    88888b
    88888c
    88888d
    88888e

    A mon avis il ne manque pas grand chose mais j'ai essayé plein de choses et je n'y arrive toujours pas !

    Merci beaucoup encore pour votre aide !

    Edit
    Penser à mettre les balises et à indenter le code.
    Ajoutés par ouskel'n'or

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pour répondre : tu as deux boucles là ou une seule suffirait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For Each Cell In ActiveDocument.Tables(1).Columns(1).Cells
         i = i + 1 
         Cell.Range.Text = NumDoss & Chr(c + i) & ".rtf" 
    Next
    Si j'ai compris ce que tu veux faire...

    Tu dis

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 5
    Par défaut
    C'est super ça fonctionne !

    J'ai simplement déplacé la ligne i = i + 1 sous la ligne cell.range.text = numdoss & etc... parce que la première ligne du tableau commençait par la lettre b au lieu de la lettre a.

    Merci beaucoup !

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

Discussions similaires

  1. [VBA-W] Numérotation automatique
    Par mulanzia2003 dans le forum VBA Word
    Réponses: 31
    Dernier message: 27/05/2006, 15h02
  2. [VBA-E]insertion automatique d'une ligne dans un tableau
    Par janus82 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/04/2006, 15h42
  3. [VBA-E] Macro automatique ouverture Excel
    Par P50 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/04/2006, 11h42
  4. [VBA-E] calculs automatique sur une seule feuille
    Par repié dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/03/2006, 11h53
  5. [VBA-E] Lancement automatique d'une macro (débutante)
    Par pom_poir dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/11/2005, 17h57

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