Microsoft 365 VBA code pour inserer des lignes une condition

AEz

XLDnaute Nouveau
bnjour, j'ai un fichier excel avec plusieurs colonnes, mais je vous met ici celles dont j'ai besoin
mon code copie les 3 premières colonnes sur une autre feuille. les autres colonnes de montant AF direct Acceptation et Coass.
voilà ma requête.
pour la 1ère ligne si les 3 colonnes de montants sont non nulles, je veux qu'il crèe une ligne pour chacune en mettant le libellé dans une colonne type de montant et le montant qui correspond.
Par exemple si AF direct Acceptation et Coass sont non nulles
Nom code Ass Type montant Montant
xx aa bb AF direct montant AF
xx aa bb acceptation montant acceptation
xx aa bb coass montant coass

puis il passe à la ligne suivant (les 3 premières colonnes sont différentes d'une ligne à l'autre)

Pour l'instant voici le codequi ne fonctionne pas comme je souhaite. je crois un problème sur les compteurs de ligne

Set WS = ThisWorkbook.Sheets("Selection données")
Set WS2 = ThisWorkbook.Sheets("Traitement réferentiel")
Dim i, n As Integer
Dim Nbline As Integer
With WS
Nbline = .Cells(.Rows.Count, 1).End(xlUp).Row
End With

For i = 1 To Nbline
WS2.Cells(i, 1) = WS.Range("A" & i)
WS2.Cells(i, 2) = WS.Range("D" & i)
WS2.Cells(i, 3) = WS.Range("I" & i)
If (WS.Range("F" & i) <> 0) And (WS.Range("G" & i) <> 0) And (WS.Range("H" & i) <> 0) Then
WS2.Cells(i, 4) = WS.Range("F1")
WS2.Cells(i, 5) = WS.Range("F" & i)
Range("A" & i + 2).EntireRow.Insert
Range(Cells(i + 2, 1), Cells(i + 2, 3)).Value = Range(Cells(i + 2 - 1, 1), Cells(i + 2 - 1, 3)).Value
WS2.Cells(i + 2, 4) = WS.Range("G1")
WS2.Cells(i + 2, 5) = WS.Range("G" & i + 1)
Range("A" & i + 3).EntireRow.Insert
Range(Cells(i + 3, 1), Cells(i + 3, 3)).Value = Range(Cells(i + 3 - 1, 1), Cells(i + 3 - 1, 3)).Value
WS2.Cells(i + 3, 4) = WS.Range("H1")
WS2.Cells(i + 3, 5) = WS.Range("H" & i + 1)
End If

Merci d'avance pour votre aide
 

Pièces jointes

  • Test insert OA.xlsx
    34 KB · Affichages: 2
Dernière édition:

AEz

XLDnaute Nouveau
Bonjour
Ci joint ma solution (de ce que j'ai compris...)

A+François
Merci Beaucoup ! oui c'était l'idée, juste j'ai pas la colonne avce le type de montant (Affaire drcte ou autre). Mais je pense pouvoir rajouter
Par contre j'avais filtré sur l chiffre affaire et qd je fais la somme des 3 colonne dans la 1ere feuile je retrouve pas la même chose dans la feuille après traitement..
 

Discussions similaires

Réponses
4
Affichages
432
Réponses
0
Affichages
326

Statistiques des forums

Discussions
314 738
Messages
2 112 336
Membres
111 512
dernier inscrit
Gilles727