Recherche code Numéro Automatique dans une colonne

Résolu
Ralph14 Messages postés 9 Statut Membre -  
Ralph14 Messages postés 9 Statut Membre -
Bonjour!

Sur une feuille Excel 2007, je recherche une formule en VBA pour le problème suivant:
Colonnes qui peuvent avoir jusqu'à 64 noms:
(C, H, M, R, W)

Les colonnes de gauche sont les numéros automatiques qui suivent les colonnes des noms.
(B, G, L, Q, V)

Chaque colonne débute à la troisième ligne.

Quel est le code VBA pour ajouter des numéros automatiques en ordre croissant pour les cellules remplies seulement?

Quelqu'un aurait une solution?

Merci de votre aide!

11 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    tu ne veux pas déposer un classeur exemple ?
    Déposer le fichier xls sur cjoint.com et coller ici le lien fourni.

    eric
    0
  2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Et tu tiens à faire cela en VBA ?
    0
  3. Ralph14 Messages postés 9 Statut Membre
     
    https://www.cjoint.com/?DFydNvvKuoW

    Voici un exemple de mon fichier. Je veux le faire en VBA parce que je dois effacer les données à chaque nouvelle compétition.

    Y a t-il un moyen de le faire?
    0
  4. Ralph14 Messages postés 9 Statut Membre
     
    Les colonnes de chiffres en rouges doivent s'insérer automatiquement si la cellule de droite contient un nom ou une équipe. La liste mentionne 64 noms ou équipes par épreuve. Souvent, le maximum de 64 joueurs ou équipes n'est pas atteint. Le dernier chiffre doit représenter le nombre de joueurs ou équipes inscrits dans chaque épreuve.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Inutile de se farcir du VBA : une fois le tableau préparé, tu l'enregistres.
    Pour chaque nouvelle compétition, tu fais une copie de ce fichier vierge et tu mets les nouveaux noms et clubs, puis tu enregistres sous un nouveau nom.

    Pour ajouter un N° en B67, tu y mets la formule
    =SI(C67="";"";B66+1) à recopier vers le bas ...

    C'est bien, la retraite ! Surtout aux Antilles ... :-)
    ? Raymond (INSA, AFPA, CF/R)?
    0
  7. Ralph14 Messages postés 9 Statut Membre
     
    Je travaille sur 2 feuilles différentes dans un même classeur.

    1) Entrée des inscriptions pour la compétition. Dans cette feuille, nous avons les informations suivantes: Nom, Club, Sexe, Épreuve Catégorie Simple, Épreuve Catégorie Double, Nom partenaire Double, Club Partenaire Double, Épreuve Catégorie Mixte, Nom Partenaire Mixte, Club Partenaire Mixte.

    2) Classement des joueurs et des équipes pour les 5 épreuves (Test1)

    Par le formulaire d'inscription, les joueurs ou équipes sont classés dans les différentes épreuves. Toutes ces informations sont envoyées à la feuille (Test1) via VBA. Tu comprendras que si j'inclus des formules dans les cellules, elles s'effaceront lorsque je vais cliquer sur les différents boutons. Il manque le dernier code pour compléter ma feuille. (Nombre de joueurs ou équipes par épreuve de 1 à 64 joueurs).

    J'ai trouvé un code semblable à ce que je recherche. Par contre, il affiche des dates alors que je recherche des chiffres sans décimales.

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 2 Then
    If IsEmpty(Target.Offset(0, -1)) Then
    With Sheets("CODES")
    With .Cells(1, 2)
    If .Value <> Date Then
    .Value = Date
    .Offset(0, -1).Value = 0
    End If
    End With
    With .Cells(1, 1)
    .Value = .Value + 1
    Target.Offset(0, -1).Value = Format(.Offset(0, 1).Value, "yyyyMMdd", vbMonday) & Format(.Value, "00")
    End With
    End With
    End If
    End If
    End Sub

    Quelqu'un peut m'aider à compléter le code?
    0
  8. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Je suis de l'avis de raymond. Aucun intérêt à faire ça en vba. J'enlève son -1
    Sauf si c'est pour apprendre, dans ce cas il faut que tu mettes les mains dans le cambouis et que tu réfléchisses un peu.

    eric
    0
  9. Ralph14 Messages postés 9 Statut Membre
     
    https://www.cjoint.com/?DFzfcC3UfzV

    Bonjour!

    Je travaille sur le dossier à temps perdu. J'y ai réfléchi! J'ai trouvé une solution. J'ai joint une copie de mon fichier. Il me reste à améliorer la boucle du code. Aussi, je veux inclure un code permettant les modifications et la mise à jour de la feuille advenant une annulation ou un rajout d'un joueur ou une équipe. Les informations des autres colonnes proviennent d'une autre feuille via VBA.

    Je travaille à temps plein dans le monde du sport et ce dossier est extrêmement important pour notre structure organisationnelle. Il va nous sauver un temps très précieux.

    Je ne suis pas un habitué du logiciel Excel. C'est pourquoi, Je fais appel à votre aide pour finaliser ce dossier!
    0
  10. Ralph14 Messages postés 9 Statut Membre
     
    En cliquant sur le bouton "Numéro Automatique", vous verrez le travail de la macro!
    0
  11. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Ton code amélioré :
    Sub NumAuto()
        Dim lig As Long, col As Long
        Application.ScreenUpdating = False
        For col = 2 To 22 Step 5
            Cells(4, col).Resize(64).ClearContents
            For lig = 4 To 67
                If Cells(lig, col + 1) <> "" Then Cells(lig, col) = lig - 3 Else Exit For
            Next lig
        Next col
    End Sub

    Pour le reste c'est trop flou..

    eric

    PS: enregistre ton fichier en .xlsm

    En essayant continuellement, on finit par réussir.
    Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
    En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
    0
  12. Ralph14 Messages postés 9 Statut Membre
     
    Salut Eric!

    Ton code fonctionne parfaitement! C'est en plein ce que je recherchais.

    Pour le reste, je m'en occupe!

    Merci beaucoup!
    0