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

Macros et VBA Excel Discussion :

Macro numérotation lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut Macro numérotation lignes
    Bonsoir,

    Voici un exemple des données dans la feuille Excel :
    La première ligne contient le N° de la course
    Les lignes suivantes, sont les 1, 2, 3, 4, 5, 6 ou 7 premiers chevaux arrivés
    et ainsi de suite...
    1 Course 1 : Plat - HANDICAP DIVISE - 2400 mètres
    2 7
    3 1
    4 8
    5 2
    6 Course 2 : Plat - 1900 mètres
    7 5
    8 1
    9 3
    10 8
    11 Course 3 : Plat - HANDICAP DIVISE - 2800 mètres
    12 7
    13 2
    14 8
    15 1
    16 6

    Le Numéro devant chaque ligne, est le N° de ligne de la feuille

    Ce que je souhaiterai, c'est qu'en fonction du N° de course,
    les chevaux arrivés prennent le N° de la course multiplié par 100
    plus le N° de chaque arrivant.
    je prends l'exemple de la première course
    1 Course 1 : Plat - HANDICAP DIVISE - 2400 mètres
    2 7
    3 1
    4 8
    5 2
    Ce que je souhaiterai comme résultat :
    1 Course 1 : Plat - HANDICAP DIVISE - 2400 mètres
    2 107
    3 101
    4 108
    5 102

    Et bien sur sur l'ensemble des courses

    Merci de vos tuyaux

    D'avance MERCI

  2. #2
    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
    Ce que je souhaiterai, c'est qu'en fonction du N° de course,
    les chevaux arrivés prennent le N° de la course multiplié par 100
    plus le N° de chaque arrivant.
    je prends l'exemple de la première course
    1 Course 1 : Plat - HANDICAP DIVISE - 2400 mètres
    2 7
    3 1
    4 8
    5 2
    Ce que je souhaiterai comme résultat :
    1 Course 1 : Plat - HANDICAP DIVISE - 2400 mètres
    2 107
    3 101
    4 108
    5 102
    Oui ben... multiplié par cent ça fait pas ça
    Plus cent, peut-être...

    Si on "fait comme ça"...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 to Range("A65535").end(xlup).row
         If instr(cells(i,1), "Plat") = 0 then cells(i ,1) =  cells(i, 1) + 100
    Next
    Si tu as un en-tête de colonne, alors mets
    For i = 2 to t'cestesrats
    Mais j'ai nettement l'impression que je n'ai pas compris...

    Edit
    Code corrigé

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Merci de m'avoir répondu,

    La fatigue, je me suis mal exprimé...

    Il ne faut que garder que le N° de course, on ne
    s'occupe du plat ou autre chose.

    Non, ce que je souhaiterai, C'est que la
    première course N° 1 multiplié par 100
    devienne 100 et le premier cheval arrivé
    en l'occurence le N° 7 soit remplaçé
    par 107
    le 2 ème cheval arrivé le 1 devienne 101

    Pareil pour toutes les courses
    pour la N° 2 : donc devient 200
    si le cheval 13 est premier, il devient 213
    si le cheval 5 est deuzièmme, il devient 205

    et ainsi de suite

    C'est clair dans ma tête, mais pas évident
    a expliquer !!!

    A te lire

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bonsoir,

    J'ai modifié ta Macro,
    mais cela ne s'applique qu'au premier
    cheval de chaque course !

    c'est un bon début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    derlig = Range("A65535").End(xlUp).Row
    For i = 1 To derlig
         If InStr(Cells(i, 1), "Plat") <> 0 Then Cells(i + 1, 1) = Cells(i + 1, 1) + 100
    Next
    Il faudrai que cela s'applique a tous les chevaux
    de chaque course.

    Je sais que c'est une prise de tête mais
    on approche de la solution.

    A te lire

  5. #5
    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
    Ok, d'ailleurs je t'ai mis une bêtise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    Dim i as long, course as integer
        For i = 1 To Range("A65535").End(xlUp).Row
            If InStr(Cells(i, 1), "Plat") <> 0 Then
                Course = Split(Cells(i, 1), " ")(1)
             Else
                Cells(i, 1) = Cells(i, 1) + (100 * Course)
            End If
     
        Next
    End Sub
    Bonne nuit

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bonsoir ouskel'n'or,

    Oui, tu a mis le doigt dessus !!!

    C'est exactement le résultat que je voulais

    Merci pour ta patience

    Bonne nuit pour nous deux (bien méritée)

    @ +

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

Discussions similaires

  1. [AC-2003] Macro copier ligne d'un formulaire vers Table
    Par joladouille dans le forum IHM
    Réponses: 2
    Dernier message: 29/06/2009, 13h49
  2. [OpenOffice][Tableur] [Macro] Ajout ligne
    Par crochepatte dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 21/11/2008, 11h22
  3. WORD MACRO derniere ligne d'un tableau
    Par gillesse60 dans le forum VBA Word
    Réponses: 11
    Dernier message: 08/11/2008, 18h26
  4. [A-03] Numéroter lignes à l'exportation
    Par tarzin dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/10/2008, 17h18
  5. [Requête] numérotation ligne
    Par dde78 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 06/06/2007, 08h45

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