Bonjour à tous,
La macro qui va suivre me permet, en me positionnant sur la cellule et en cliquant sur le bouton de commande, de numéroter les cellules que je souhaite en affichant 2016001, 2016002, 2016003... autant de fois que je clique.
Le problème c'est que je souhaiterais en réalité nommer ces numéros "PROD001", "PROD002", "PROD003"... pour les différencier d'autres numéros provenant d'autres fichiers ("QUAL001"...).
Faites l'expérience de nommer une cellule PROD001 et celle juste en dessous PROD002 puis incrémenter vers le bas et Excel comprendra qu'il s'agit d'une suite logique.
C'est ce que je n'arrive pas à reproduire dans le code suivant :
Sub Numéroter()
Dim n As Long, lig As Long, i As Integer, num As Boolean
If ActiveCell.Column = 5 Then
lig = ActiveCell.Row
Else
Exit Sub
End If
If lig < 2 Then Exit Sub
num = True
With ActiveSheet
For i = 1 To 3
If .Cells(lig, i) = "" Then num = False
Next i
If num Then
n = Application.Max(Range("E:E")) + 1
If n < 2016000 Then n = n + 2016000
.Cells(lig, 5).Value = n
End If
End With
End Sub
Modifier la ligne .Cells(lig, 5).Value = n par "PROD" + n ne fonctionne pas, je reste à PROD001 à chaque fois
Merci à toutes les âmes volontaires!
La macro qui va suivre me permet, en me positionnant sur la cellule et en cliquant sur le bouton de commande, de numéroter les cellules que je souhaite en affichant 2016001, 2016002, 2016003... autant de fois que je clique.
Le problème c'est que je souhaiterais en réalité nommer ces numéros "PROD001", "PROD002", "PROD003"... pour les différencier d'autres numéros provenant d'autres fichiers ("QUAL001"...).
Faites l'expérience de nommer une cellule PROD001 et celle juste en dessous PROD002 puis incrémenter vers le bas et Excel comprendra qu'il s'agit d'une suite logique.
C'est ce que je n'arrive pas à reproduire dans le code suivant :
Sub Numéroter()
Dim n As Long, lig As Long, i As Integer, num As Boolean
If ActiveCell.Column = 5 Then
lig = ActiveCell.Row
Else
Exit Sub
End If
If lig < 2 Then Exit Sub
num = True
With ActiveSheet
For i = 1 To 3
If .Cells(lig, i) = "" Then num = False
Next i
If num Then
n = Application.Max(Range("E:E")) + 1
If n < 2016000 Then n = n + 2016000
.Cells(lig, 5).Value = n
End If
End With
End Sub
Modifier la ligne .Cells(lig, 5).Value = n par "PROD" + n ne fonctionne pas, je reste à PROD001 à chaque fois
Merci à toutes les âmes volontaires!