VBA - Copier coller Boucle .Count
J
Bonjour à tous,
Il y a quelques jours et grâce à l'aide Frédéric38, j'ai écris ma première boucle pour supprimer une ligne si 2 conditions étaient réunies sur cette dite ligne.
Aujourd'hui, je souhaite faire sensiblement la même chose mais en copiant d'une feuille à l'autre certaines cellules de ces lignes qui respectent les deux conditions.
'Vérifie que le prénom et l'année sont bien sélectionnées
If Sheets("Sommaire").Range("f19").Value <> "" And Sheets("Sommaire").Range("f20").Value <> "" Then
cnt = Application.WorksheetFunction.CountA(OS.Range("a:a"))
var1 = OB.Range("F19").Value 'Année
var2 = OB.Range("F20").Value 'Mois
For i = cnt To 2 Step -1
If OS.Range("W" & i).Value = var1 And OS.Range("X" & i) = var2 Then
'RechercheV sur le nom pour trouver l'identifiant sur la feuille MDPrenom
OS.Cells(i, 17).Copy
EXP.Cells(LI + j, 2).PasteSpecial xlValues 'Operationnel
j = j + 1
EXP.Cells(LI + j, 3) = "BAU" '
OS.Cells(i, 6).Copy
EXP.Cells(LI + j, 5).PasteSpecial xlValues 'Données
'RechercheV sur pays
'RechercheV sur catégorie
EXP.Cells(LI + j, 8) = "1" '
OS.Cells(i, 10).Copy
EXP.Cells(LI + j, 9).PasteSpecial xlValues
'RechercheV sur Code BW
EXP.Cells(LI + j, 11) = "" 'AED
OS.Cells(i, 19).Copy
EXP.Cells(LI + j, 12).PasteSpecial xlValues 'Operationnel 2
OS.Cells(i, 8).Copy
EXP.Cells(LI + j, 13).PasteSpecial xlValues 'Dossier
'Extraire le mois
OS.Cells(i, 20).Copy ' Start Month
EXP.Cells(LI + j, 16).PasteSpecial xlValues 'End Month
'Extraire l'année
OS.Cells(i, 20).Copy 'Start Year
EXP.Cells(LI + j, 15).PasteSpecial xlValues
'Extraire le mois
OS.Cells(i, 21).Copy
EXP.Cells(LI + j, 16).PasteSpecial xlValues 'End Month
'Extraire l'année
OS.Cells(i, 21).Copy
EXP.Cells(LI + j, 17).PasteSpecial xlValues 'End Year
EXP.Cells(LI + j, 18) = "EUR" 'Monnaie
OS.Cells(i, 14).Copy
EXP.Cells(LI + j, 19).PasteSpecial xlValues 'Montant1
OS.Cells(i, 15).Copy
EXP.Cells(LI + j, 20).PasteSpecial xlValues 'Montant2
EXP.Cells(LI + j, 21) = "1" 'Qunatity
EXP.Cells(LI + j, 22) = "Unit" 'Unit
EXP.Cells(LI + j, 33) = "Closed" 'Status
OS.Cells(i, 25).Copy
EXP.Cells(LI + j, 34).PasteSpecial xlValues 'Commentaire
End If
Next
Mon code fonctionne sur toutes les lignes, mais part de la dernière pour remonter à la première qui respect les deux conditions.
Je suppose que cela vient de la manière dont est formulé le Count et le if
cnt = Application.WorksheetFunction.CountA(OS.Range("a:a"))
var1 = OB.Range("F19").Value 'Année
var2 = OB.Range("F20").Value 'Mois
For i = cnt To 2 Step -1
Quel moyen ai-je pour inverser cela?
De même, l'incrémentation au collage est décallé d'une cellule ! Je ne comprends pas pourquoi !?
Merci de votre aide !
Jay