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.