XL 2016 [VBA]Création et incrémentation d'index dans une fonction d'ajout de ligne

Sergent_Lipton

XLDnaute Nouveau
Bonjour à tous,

Je viens a vous avec un petit soucis pour mon indexage,
qui démarre au format "1-1" avec la possibilité d'atteindre XXX-XX.

Dans mon document relativement complexe de récolte d'Open Points et de suivi de traitement, j'aimerais que lorsque j'ajoute un nouveau point (macro : double clique dans la colonne index pour ajout de ligne, déja existante), l'index de celui ci prenne en compte la valeur de l'index de la ligne du dessus et y ajoute 1.

Est-ce possible malgré la présence de ce "-" et du caractère variable du nombre de chiffre, et si oui auriez-vous une piste ?

J'aimerais intégrer cet index dans la fonction d'ajout de points.

En vous remerciant par avance
 

Pièces jointes

  • Suivi Analyse Tuyauterie V10.xlsm
    837.5 KB · Affichages: 8

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Sergent Lipton,
Je n'ai pas tout compris à vos macros lors je les ai remaniées avec ce que j'ai compris de votre demande. (Worksheet_BeforeDoubleClick et Worksheet_Change)

Quand on double clique sur une cellule vide de la colonne A on change l'index principal et la couleur
Quand on clique sur une cellule colonne C on incrémente le second index et on conserve la couleur de la précédente ligne.
 

Pièces jointes

  • Suivi Analyse Tuyauterie V10.xlsm
    933.7 KB · Affichages: 7

Sergent_Lipton

XLDnaute Nouveau
Merci pour le retour sylvanu,

Désolé pour le problème de compréhension,
J'aimerais que lorsque je double clique dans la colonne A sur une valeur d'index sur n'importe quelle ligne, une console me demande combien de points je voudrait ajouter, donc combien de ligne en plus je voudrait ajouter au point numéro "8-XX" par exemple et que les valeurs des index reprennent l'index de la ligne d'origine pour l'incrémenter.

- Double clic en A11 (index 1-8)
= Me demande combien de points a ajouter, (exemple : 4)
= Ajoute le nombre de ligne inscrit dans l'inputbox (4)
= chaque ligne ajoutée reprend l'index du dessus +1
= A12 : 1-9
= A13 : 1-10
= A14 : 1-11
= A15 : 1-12

La macro pour l'ajout de points et changement de couleur sont déja opérationnels, il ne me manque qu'un morceau de code qui me permet de modifier automatiquement cet index car ce sont des index fixes qui même en supprimant une ligne ne doivent pas bouger pour tracer les points ouverts.

ma macro de base :
_____________

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Lg, Rep
If Not Application.Intersect(Target, Columns("A")) Is Nothing Then
If Target.Count > 1 Or Target.Row = 1 Or Target = "" Then Exit Sub
Lg = Target.Row
Do
Rep = Application.InputBox("Combien de points à ajouter ?", "Ajouter Points", 1, Type:=1)
If Rep = False Then Exit Sub
Loop While Rep = ""

Rows(Lg).Copy
Range(Rows(Lg + 1), Rows(Lg + Rep)).Insert

Application.CutCopyMode = False
On Error Resume Next
Range(Rows(Lg + 1), Rows(Lg + Rep)).SpecialCells(xlCellTypeConstants, 23).ClearContents

For i = 1 To Rep
Cells(Lg + i, 1) = Cells(Lg, 1) & "-" & i
Cells(Lg + i, 2) = Cells(Lg, 2)


Next i
End If
End Sub
_________________
C'est a ce niveau la que la cell col A prends la valeur du dessus :

For i = 1 To Rep
Cells(Lg + i, 1) = Cells(Lg, 1) & "-" & i

Et c'est aussi a ce niveau la ou je bloque :s
 

Discussions similaires

Statistiques des forums

Discussions
311 723
Messages
2 081 932
Membres
101 844
dernier inscrit
pktla