incrémentation double

nico12

XLDnaute Nouveau
Bonjour à tous,
Je souhaite calculer automatiquement une incrémentation d'après les points de départ et de fin de certaines cellules. Explication pas très claire, mais je mets un fichier de ce que je veux obtenir.
Je ne sais pas comment faire ça.
Si vous avez des pistes, merci !
 

Pièces jointes

  • test increment1.xlsx
    33.8 KB · Affichages: 30

Nairolf

XLDnaute Accro
Salut,

J'arrive après avec un code quasi identique à pierrejean :
VB:
Sub inc()

Dim TableauSource()
Dim TableauRésultat()
Dim NbLignesParCode As Integer
Dim NbLignesTotal As Integer
Dim compt1 As Integer
Dim compt2 As Integer

TableauSource = Worksheets("Feuil1").Range("A2:D" & Range("A1").End(xlDown).Row).Value
NbLignesTotal = 0
compt1 = 1

For i = LBound(TableauSource) To UBound(TableauSource)
    NbLignesParCode = Application.Index(TableauSource, i, 3) - Application.Index(TableauSource, i, 2) + 1
    NbLignesTotal = NbLignesTotal + NbLignesParCode
    compt2 = 1
    ReDim Preserve TableauRésultat(1 To 4, 1 To NbLignesTotal)
    For j = 1 To NbLignesParCode
        TableauRésultat(1, compt1) = Application.Index(TableauSource, i, 1)
        TableauRésultat(2, compt1) = compt1
        TableauRésultat(3, compt1) = Application.Index(TableauSource, i, 4)
        If TableauRésultat(3, compt1) <> "" Then
            TableauRésultat(4, compt1) = compt2
        End If
        compt1 = compt1 + 1
        compt2 = compt2 + 1
    Next j
Next i
Worksheets("Feuil1").Range("G2:J" & NbLignesTotal + 1).ClearContents
Worksheets("Feuil1").Range("G2:J" & NbLignesTotal + 1).Value = Application.Transpose(TableauRésultat)

End Sub
 

nico12

XLDnaute Nouveau
Re

Comme ceci ?

Oui, mais je m'aperçois que l'incrémentation continue quelque soit le chiffre de la colonne "début", ce n'est pas un problème car ma numérotation est en continu.
J'essaie d'appliquer la macro sur ma feuille qui contient d'autre colonnes; ça ne fonctionne pas lorsque je change la plage "tablo":
tablo = Range("A20:D100") par exemple.
L'ordre de mes colonnes à traiter est le même que dans mon exemple...
 

nico12

XLDnaute Nouveau
Re

Et pour bien faire la numérotation devrait reprendre à combien ?????
Et où j'aurais trouvé cette info ????
la numérotation doit commencer avec le chiffre inscrit dans la colonne "premier numéro" et se finir par celui de la colonne "dernier numero" de la meme ligne. Ainsi de suite pour chaque ligne...
Ce que je voulais décrire dans mon premier message par "Je souhaite calculer automatiquement une incrémentation d'après les points de départ et de fin de certaines cellules"
 

Discussions similaires

Réponses
7
Affichages
275

Statistiques des forums

Discussions
312 095
Messages
2 085 253
Membres
102 837
dernier inscrit
CRETE