Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Numérotation ligne excel

  • Initiateur de la discussion Initiateur de la discussion Achraf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Achraf

Guest
Bonjour,

Je souhaite numéroter certaines lignes d'un tableau.
Je m'explique, la première colonne du tableau peut avoir 2 valeurs possibles : i ou n.
A chaque fois qu'une celulle de cette colonne prend la valeur i, je souhaite que dans la 2e colonne qu'elle soit numérotée 1 (ou 1000 ou le numéro de la ligne, peu importe, il faut juste que ce soit un numéro unique). A chaque itération de la valeur "i" dans la première colonne, il faut un numéro unique, pas forcément croissant, le numéro de ligne me paraît être la meilleure solution.

Jusque là tout va bien, seulement, si je supprime une ligne, ou si la valeur passse de i à n, il ne faut pas que la numérotation change.


Voici un exemple


Merci pour votre aide.
 

Pièces jointes

Re : Numérotation ligne excel

bonjour,
avec une petite macro ?

Code:
Dim i As Integer
Dim j As Integer

j = 1
For i = 2 To [A65000].End(xlUp).Row
    With Cells(i, 1)
        If .Value = "I" Then .Offset(0, 2).Value = j: j = j + 1
    End With
Next i
à +
 
Re : Numérotation ligne excel

Bonjour.
Supprimez vos formules et mettez ça dans le module de la feuille:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Numéro As Long
If Target.Column = 1 And Target.Count = 1 Then
   If UCase(Target.Value) = "I" And Target.Offset(, 1).Value = "" Then
      Randomize
      Do: Numéro = Int(Rnd * 10000): Loop Until WorksheetFunction.CountIf(Columns(1), Numéro) = 0
      Target.Offset(, 1).Value = Numéro
      End If
   End If
End Sub
À +
 
Re : Numérotation ligne excel

Merci pour vos réponses.

@Dranreb : j'ai copié le code vba dans le module de la feuille, je me trompe peut-être, mais je n'ai pas l'impression qu'il fonctionne.

en pièce jointe, le fichier excel avec votre code VBA
 

Pièces jointes

Re : Numérotation ligne excel

C'est à dire qu'il fonctionne uniquement quand on modifie une cellule de la colonne A au profit de "I". Mais il ne révise pas les "I" existants qui ne portent pas de numéros.
Cordialement.
 
Re : Numérotation ligne excel

Excusez moi d'insister, le fait est que quand je copie le code VBA dans le module de la feuille, et que je clique sur play pour exécuter le code. Excel me demande de nommer une nouvelle macro suite à cela j'obtiens la fenêtre ci-jointe.
Qu'est ce que je dois faire au juste?

Merci de m'éclairer et encore désolé
 

Pièces jointes

  • Test.jpg
    59.6 KB · Affichages: 75
  • Test.jpg
    59.6 KB · Affichages: 78
  • Test.jpg
    59.6 KB · Affichages: 83
Re : Numérotation ligne excel

Inutile de mettre une copie de la macro dans un module ordinaire.
Dans "Feuil1 (Feuil1)" seulement ça suffit.
Il n'y a pas à en demander l'exécution: La macro se déclenche toute seule quand on modifie une cellule de la colonne A. C'est ce qu'on appelle une procédure évènement, certains disent évènementielle.
Mais elle n'a d'effet que si on y met "I" et que la B ne contient pas déjà mieux qu'une chaîne vide.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
283
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…