Incrémenter une série en fonction d'une colonne

Bonjour,

j'ai récupéré ce bout de code et aimerais l'adapter.

J'ai "n" feuilles, 3 colonnes (les 2 premières sont vides) et la 3e contient de la données.

J'aimerai pour toutes les feuilles, incrémenter une série en colonne A et m'arrêter lorsqu'une cellule en colonne C est vide.

Pour le moment ce code, me créer une incrémentation série sur toutes les lignes

'Créer incrémentation
Sub Incrementation ()
Sheets(1).Select
For i = 1 To Sheets.Count
Sheets(i).Select (False)
Next
Columns("A:A").Select
ActiveCell.FormulaR1C1 = "1"
    Range("A1").Select
    Selection.AutoFill Destination:=Range("A:A"), Type:=xlFillSeries
Columns("A:A").Select
Sheets(1).Select
End Sub

Merci pour votre aide

Bonjour,

Sub Incrementation()
Dim Ws As Worksheet
Dim DerLig As Long
    For Each Ws In Worksheets
        DerLig = Ws.Range("C1").End(xlDown).Row
        Ws.Range("A1").Value = "1"
        Ws.Range("A1").AutoFill Destination:=Ws.Range("A1:A" & DerLig), Type:=xlFillSeries
    Next Ws
    Sheets(1).Select
End Sub

A+

Bonjour,

comme je me suis également penché sur le problème, voici ma solution :

Option Explicit

'Créer incrémentation
Sub Incrementation()
Dim DerLig As Integer, i As Byte

For i = 1 To Sheets.Count
    DerLig = Sheets(i).Range("C" & Rows.Count).End(xlUp).Row
    Sheets(i).Range("A1") = 1
    If Sheets(i).Range("C2") <> "" Then Sheets(i).Range("A1").AutoFill Destination:=Sheets(i).Range("A1:A" & DerLig), Type:=xlFillSeries
Next

End Sub

Avec le code de Frangy, s'il n'y a qu'une seule donnée sur une feuille, l'incrémentation se fait jusqu'à la fin de la feuille, je crois.

Bonnes salutations.

Bonjour Yvouille,

J'étais parti comme toi sur un "xlUp" et je me suis ravisé à la lecture de "et m'arrêter lorsqu'une cellule en colonne C est vide" .

A+

Re Frangy,

Vu comme ça – à défaut d’avoir reçu un fichier de la part du membre - effectivement qu’il valait mieux partir sur la base d’un xlDown. Mais tu es quand même d’accord que si seule la première cellule de la colonne C d’une feuille est remplie, ton incrémentation se fait d’une manière incorrecte ?

Amicalement.

Re Yvouille,

Entièrement d'accord avec toi.

La question du choix de méthode se pose chaque fois, l'option choisie restant dépendante de la disposition des données .

Reste à voir ce qui convient le mieux au cas présenté par El Blobo.

A+

Re Frangy, merci pour ton explication.

En résumé pour El Blobo :

Si tu n’as jamais de lignes vides au milieu de tes colonnes C, mon code fonctionnerait bien. Si tu as toujours plus d’une donnée dans la colonne C de tes feuilles, le code de Frangy fonctionne parfaitement. Si tu as parfois une seule donnée dans une colonne C d’une de tes feuilles, qu’il peut y avoir parfois des lignes vides dans la colonne C d’une de tes feuilles et qu’en plus tu veux que le code s’arrête à la première ligne vide de la feuille concernée, tu peux utiliser ce code de Frangy légèrement modifié au niveau de la ligne Ws.Range("A1").AutoFill Destination:=Ws.Range("A1:A" & DerLig), Type:=xlFillSeries :

Sub Incrementation()
Dim Ws As Worksheet
Dim DerLig As Long
    For Each Ws In Worksheets
        DerLig = Ws.Range("C1").End(xlDown).Row
        Ws.Range("A1").Value = "1"
        If DerLig <> Rows.Count Then Ws.Range("A1").AutoFill Destination:=Ws.Range("A1:A" & DerLig), Type:=xlFillSeries
    Next Ws
    Sheets(1).Select
End Sub

Conclusion : La prochaine fois fournis-nous ton fichier

Cordialement.

Merci,

à vous deux j'ai bien compris la nuance.

La prochaine fois je mettrais mon fichier en ligne.

Rechercher des sujets similaires à "incrementer serie fonction colonne"