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

Conception Discussion :

Attribuer un numéro à une ligne spécifique


Sujet :

Conception

  1. #1
    Membre averti
    Homme Profil pro
    Autre
    Inscrit en
    Août 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Août 2015
    Messages : 29
    Par défaut Attribuer un numéro à une ligne spécifique
    Bonjour à tous

    Je rencontre actuellement une difficulté et je fais appel à votre expertise
    Dans un document Excel, j'ai des lignes successives qui correspondent chacune à un dossier. Les collègues agrémentent le document au fur et à mesure en rajoutant des lignes.
    Cependant, certains font un "tri" par inadvertance (style de A à Z). Et tout le document devient chamboulé. Pas moyen de revenir à l'ordre initial par la suite et obligé d'aller récupérer une sauvegarde antérieure.
    À cet égard, je souhaiterai "attribuer" un numéro à chaque ligne (donc dossier) pour pouvoir "réinitialiser" la structure initiale par filtre au besoin.
    Donc, pour être plus précis :
    Ligne 1 : Dossier 12
    Ligne 2 : Dossier 4
    Ligne 3 : Dossier 6
    Etc.

    L'optique est donc , en colonne "A" d'attribuer un chiffre par ligne (1,2,3, jusque la fin) mais que ces chiffres soient liés à la colonne "B" (Dossier 12,4,6, etc.). Et si nous effectuons un filtre, que le numéro de ligne attribué en colonne "A" reste lié au dossier concerné (colonne "B").

    De plus, chaque collègue ajoute une ligne supplémentaire par nouveau dossier. Donc je souhaiterais que la colonne "A" puisses poursuivre la numérotation automatiquement après l'ajout d'une nouvelle ligne.

    Pouvez-vous m'aider à ce sujet-là où pensez-vous que je dois me tourner vers du VBA ?

    D'avance, je vous remercie pour vos futures réponses et vous souhaite une agréable journée

  2. #2
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2018
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2018
    Messages : 288
    Par défaut
    Bonjour

    Dans un tableau structuré mettre en A2 le chiffre 1
    Puis en A3 mettre la formule =A2+1. Ainsi pour chaque rajout de ligne, la colonne A sera incrémentée de 1.
    Attention cette colonne doit être protégée en écriture.

    Philippe

  3. #3
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 618
    Par défaut
    Hello,

    Phil333250 vous a donné une solution pour une numérotation automatique (mais néanmoins dynamique), mais ça ne résout pas le problème du tri qui met la pagaille, et je ne crois pas qu'il y ait vraiment de solution si ce n'est de former vos collaborateurs sur la bonne façon d'utiliser les tris, car, à ma connaissance, il est impossible de "lier" les contenus de la colonne A avec la colonne B

    Il est possible de faire mettre automatiquement un numéro dans une cellule par une macro (invariable donc) mais si le collaborateur fais un tri sans sélectionner la colonne du numéro ça mettra toujours la pagaille (d'où mon conseil de former plutôt que d'empêcher)

  4. #4
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 873
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    L'optique est donc , en colonne "A" d'attribuer un chiffre par ligne (1,2,3, jusque la fin) mais que ces chiffres soient liés à la colonne "B" (Dossier 12,4,6, etc.). Et si nous effectuons un filtre, que le numéro de ligne attribué en colonne "A" reste lié au dossier concerné (colonne "B").
    Pour cela il s'uffit de tansformer ton tableau en tableau structuré un filtre ou tri sur la colonne B entraine les données de la colonne A automatiquement c'est comme tu dis "lié"

    donc rien à faire pas besoin de VBA

    De plus, chaque collègue ajoute une ligne supplémentaire par nouveau dossier. Donc je souhaiterais que la colonne "A" puisses poursuivre la numérotation automatiquement après l'ajout d'une nouvelle ligne.
    là par contre cest que par VBA mais si c'est juste un numero de ligne les personnes qui ajoute un dossier peuvent également saisir le N° de ligne d'excel à gauche et si c'est une date il existe le racourcis : [Ctrl] + [;] donc le VBA n'est pas utile dans ce cas.

    tu nous dis si cela te conviens

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 574
    Par défaut
    Hello,

    Un tableau structuré avec une colonne contenant 1; 2; 3 ect ... (le nombre s'incrémentera automatiquement lors de l'ajout d'une nouvelle ligne).
    Il suffira de trier sur cette colonne pour retrouver l'ordre initial.

  6. #6
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 618
    Par défaut
    Un tableau structuré avec une colonne contenant 1; 2; 3 ect ... (le nombre s'incrémentera automatiquement lors de l'ajout d'une nouvelle ligne).
    @deedolith heum... chez moi ça ne fonctionne pas, sauf si dans le TS c'est une formule qui incrémente les valeurs
    Nom : 2026-03-05_17-07-39.png
Affichages : 84
Taille : 4,2 Ko

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 234
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Dans un tableau structuré mettre en A2 le chiffre 1
    Puis en A3 mettre la formule =A2+1. Ainsi pour chaque rajout de ligne, la colonne A sera incrémentée de 1.
    Dans un tableau structuré, il faut idéalement avoir la même formule dans une colonne.
    La formule ci-dessous fonctionne parfaitement et renvoie le n° de la ligne mais comme précisé dans les interventions précédentes, si l'on trie une colonne, les numéros resteront à la même position.
    L'arobase en préfixe de LIGNE n'est utile que pour la version 365 et ultérieure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIGNE()-@LIGNE(Tableau1)+1
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 498
    Par défaut
    Autre idée, avec cette macro un n° de ligne sera ajouté "en dur" quand un nouveau dossier est encodé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.Column > 1 Then Exit Sub
        If Target.Count > 1 Then Exit Sub
        If Target.Value > 0 Then Exit Sub
        If Target.Offset(-1, 0).Value = 0 Then Exit Sub
        If MsgBox("Ajouter une ligne?", vbYesNo, "Oui/Non") = vbNo Then Exit Sub
        Target.Value = Application.WorksheetFunction.Max(Range("A1", Target)) + 1
        Target.Offset(0, 1).Select
    End Sub
    A adapter.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 17
    Dernier message: 10/09/2009, 19h08
  2. Réponses: 0
    Dernier message: 06/08/2009, 13h12
  3. attribuer une couleur à une ligne d'une gridview
    Par babafredo dans le forum ASP.NET
    Réponses: 6
    Dernier message: 16/07/2007, 11h35
  4. [TP]lire une ligne de l'ecran et la stocker dans une chaine
    Par Bleuarff dans le forum Turbo Pascal
    Réponses: 26
    Dernier message: 02/07/2002, 10h08
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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