Bonjour à tous,
Je viens d'écrire mon code en faisant bien attention de bien renseigner les plages de cellules mais ma boucle do while loop tourne sans arret et n'effectue pas l'instruction alors qu'elle devrait sur 13 lignes (non vides) sur 153. Je ne comprends pas ce que j'ai mal fait, voici le code:
Sans le do while loop, la macro marche correctement, sauf qu'à partir d'un moment elle copie la dernière ligne non vide sur toutes les cellules vides en dessous, mais ce n'est pas ce que je veux.
Je viens d'écrire mon code en faisant bien attention de bien renseigner les plages de cellules mais ma boucle do while loop tourne sans arret et n'effectue pas l'instruction alors qu'elle devrait sur 13 lignes (non vides) sur 153. Je ne comprends pas ce que j'ai mal fait, voici le code:
VB:
Sub Bons_click()
Application.ScreenUpdating = False
Dim c As Range
Dim Lkd As String
Dim myrange1 As Range
Dim myrange2 As Range
Dim extract1 As Range
Dim extract2 As Range
Dim n As Integer
With ActiveSheet
Set myrange1 = Union(Sheets("Mise_en_preparation").Range("T3:T156"), Sheets("Mise_en_preparation").Range("AE3:AE156"))
Set myrange2 = Union(Sheets("Mise_en_preparation").Range("AP3:AP156"), Sheets("Mise_en_preparation").Range("BA3:BA156"))
Set extract1 = Union(Sheets("Mise_en_preparation").Range("L2:T156"), Sheets("Mise_en_preparation").Range("W2:AE156"))
Set extract2 = Union(Sheets("Mise_en_preparation").Range("AH2:AP156"), Sheets("Mise_en_preparation").Range("AS2:BA156"))
For n = 3 To 156
Do While cells(n, 12) <> ""
For Each c In myrange1
If cells(c.Row, myrange1.Column) > "" Then
Lkd = cells(c.Row, myrange1.Column).Value
Else
cells(c.Row, myrange1.Column).Value = Lkd
End If
Next
Next
End With
End Sub
Sans le do while loop, la macro marche correctement, sauf qu'à partir d'un moment elle copie la dernière ligne non vide sur toutes les cellules vides en dessous, mais ce n'est pas ce que je veux.