Incrémenter une plage variable

Bonjour et mes meilleur vœux pour cette nouvelle année.

J'ai l'habitude de venir sur le forum pour trouver les solutions à mes petit problèmes , cependant cette fois je ne trouve pas la solution donc je décide m’inscrire, et remercie toutes les membres pour la source d’information qu’est ce forum. Vous m’avez plus d’une fois bien aidée.

Bon fini la parlote, pour faire simple je souhaite réaliser une macro pour importer des données d'un autre onglet. bon ça j'ai réussi, cependant je souhaite incrémenter le même numéros pour toutes les ligne rajoutées.

Ex:

Colonne A: Numéros chrono à incrémenter pour chaque import de données

Colonne B: les valeur importé

Mon besoin, incrémenter le N°2 pour la plage A4;A6 et puis 3,4 et 5 au fur et à mesure des importation.

A B

1 N° CODE NOMAC

2 1 A1

3 1 A2

4 B1

5 B2

6 B3

Ci-dessous le bout de mon code

Sub Import_DA()
Set R = Sheets("Suivi DA")
Set D = Sheets("Trame DA")

Ln = D.Range("B" & Rows.Count).End(xlUp).Row

j = R.Range("B" & Rows.Count).End(xlUp).Row

For i = 9 To Ln

    With R
         .Cells(j + 1, "G") = D.Cells(i, "A").Value 'Référence
         .Cells(j + 1, "H") = D.Cells(i, "B").Value 'Désignation
         .Cells(j + 1, "J") = D.Cells(i, "D").Value 'Quantité
         .Cells(j + 1, "K") = D.Cells(i, "E").Value 'Unité
         .Cells(j + 1, "L") = D.Cells(i, "G").Value 'Montant Unitaire
         .Cells(j + 1, "M") = D.Cells(i, "H").Value 'justification
    End With

j = j + 1

Next i

k = R.Range("B" & Rows.Count).End(xlUp).Row

        R.Cells(k + 1, "B") = R.Cells(k, "B").Value + 1

End Sub

Merci à vous si vous pouvez m'apporter votre aide.

Bonjour,

Testes pour voir si c'est ce que tu désires. Regardes la méthode "AutoFill" :

Sub Import_DA()

    Dim R As Worksheet
    Dim D As Worksheet
    Dim Ln As Long
    Dim I As Long
    Dim J As Long
    Dim K As Long

    Set R = Sheets("Suivi DA")
    Set D = Sheets("Trame DA")

    Ln = D.Range("B" & Rows.Count).End(xlUp).Row

    J = R.Range("B" & Rows.Count).End(xlUp).Row

    For I = 9 To Ln

        With R
            .Cells(J + 1, "G") = D.Cells(I, "A").Value 'Référence
            .Cells(J + 1, "H") = D.Cells(I, "B").Value 'Désignation
            .Cells(J + 1, "J") = D.Cells(I, "D").Value 'Quantité
            .Cells(J + 1, "K") = D.Cells(I, "E").Value 'Unité
            .Cells(J + 1, "L") = D.Cells(I, "G").Value 'Montant Unitaire
            .Cells(J + 1, "M") = D.Cells(I, "H").Value 'justification
       End With

    J = J + 1

    Next I

    R.Range("B2").Value = 1
    R.Range("B3").Value = 2
    R.Range("B2:B3").AutoFill Range("B2:B" & J)

End Sub

Bonjour,

Merci de ton intérêt,

Cependant ce n'est pas exactement ça, je me suis peut être mal expliqué.

Je souhaite que le N° soit le même pour les données importées au même moment.

Ex :

Lundi, je lance la macro pour importer les données A dans la colonne « Code NOMAC » et renseigne le numéro 1 pour toutes les lignes des données A.

Mardi, je lance la macro pour importer les données B dans la colonne « Code NOMAC » et renseigne le numéro 2 pour toutes les lignes des données B.

Et ainsi de suite pour chaque import.

N° CODE NOMAC

1 A

1 A

1 A

1 A

2 B

2 B

3 B

3 B

3 B

3 B

4 C

4 C

Re,

De cette façon alors ?

Sub Import_DA()

    Dim R As Worksheet
    Dim D As Worksheet
    Dim Ln As Long
    Dim I As Long
    Dim J As Long
    Dim K As Long

    Set R = Sheets("Suivi DA")
    Set D = Sheets("Trame DA")

    Ln = D.Range("B" & Rows.Count).End(xlUp).Row

    J = R.Range("B" & Rows.Count).End(xlUp).Row

    K = J

    For I = 9 To Ln

        With R
            .Cells(J + 1, "G") = D.Cells(I, "A").Value 'Référence
           .Cells(J + 1, "H") = D.Cells(I, "B").Value 'Désignation
           .Cells(J + 1, "J") = D.Cells(I, "D").Value 'Quantité
           .Cells(J + 1, "K") = D.Cells(I, "E").Value 'Unité
           .Cells(J + 1, "L") = D.Cells(I, "G").Value 'Montant Unitaire
           .Cells(J + 1, "M") = D.Cells(I, "H").Value 'justification
      End With

    J = J + 1

    Next I

    R.Range("B" & K).Offset(1).Value = R.Range("B" & K).Value + 1
    R.Range(R.Cells(K + 1, 2), R.Cells(J, 2)).Value = R.Range("B" & K).Offset(1).Value

End Sub

Alors la je dis merci Theze,

je pense que tu viens de me faire gagner un temps fou.

Rechercher des sujets similaires à "incrementer plage variable"