Recherche code Numéro Automatique dans une colonne [Résolu/Fermé]

Signaler
Messages postés
9
Date d'inscription
vendredi 13 juin 2014
Statut
Membre
Dernière intervention
25 juin 2014
-
Messages postés
9
Date d'inscription
vendredi 13 juin 2014
Statut
Membre
Dernière intervention
25 juin 2014
-
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

Messages postés
24104
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juin 2021
6 802
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
Messages postés
54059
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
16 060
Et tu tiens à faire cela en VBA ?
Messages postés
9
Date d'inscription
vendredi 13 juin 2014
Statut
Membre
Dernière intervention
25 juin 2014

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?
Messages postés
9
Date d'inscription
vendredi 13 juin 2014
Statut
Membre
Dernière intervention
25 juin 2014

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.
Messages postés
54059
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
16 060
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)?
Messages postés
9
Date d'inscription
vendredi 13 juin 2014
Statut
Membre
Dernière intervention
25 juin 2014

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?
Messages postés
24104
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juin 2021
6 802
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
Messages postés
9
Date d'inscription
vendredi 13 juin 2014
Statut
Membre
Dernière intervention
25 juin 2014

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!
Messages postés
9
Date d'inscription
vendredi 13 juin 2014
Statut
Membre
Dernière intervention
25 juin 2014

En cliquant sur le bouton "Numéro Automatique", vous verrez le travail de la macro!
Messages postés
24104
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juin 2021
6 802
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
Messages postés
9
Date d'inscription
vendredi 13 juin 2014
Statut
Membre
Dernière intervention
25 juin 2014

Salut Eric!

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

Pour le reste, je m'en occupe!

Merci beaucoup!