Copier la dernière valeur d'une colonne supérieur à 0

Bonjour,

Je souhaite récupérer la dernière valeur d'une colonne supérieure à 0 (Comme exemple la colonne D, valeur souhaitée copier 32).

j'ai essayé avec une boucle While, mais pas de résultat (les autres colonnes n'ont pas besoin de chercher une valeur supérieure à 0).

Merci d'avance pour votre aide :)

code :

Private Sub CommandButton1_Click()

Dim DL As Long
Dim sup As Integer

DL = Cells(Application.Rows.Count, 2).End(xlUp).Row
Range("B" & DL).Copy
Range("A12").PasteSpecial Paste:=xlPasteValues

DL = Cells(Application.Rows.Count, 3).End(xlUp).Row
Range("C" & DL).Copy
Range("A13").PasteSpecial Paste:=xlPasteValues

sup = Cells(Application.Rows.Count, 4).End(xlUp).Row
Do While sup < 0
sup = Cells(Application.Rows.Count, 4).End(xlUp).Row - 1
Loop

Range("D" & sup).Copy
Range("A14").PasteSpecial Paste:=xlPasteValues

End Sub
7copie-valeur.xlsm (25.59 Ko)

Bonjour,

Évite tant que possible les sélections et copies de cellules.

Ton idée était bonne. La dernière supérieure à 0 est la 1ère supérieure à 0 en partant de la fin. Mais ta boucle ne pouvait pas fonctionner comme tu l'avais fait.Tu peux essayer quelque chose comme ceci

Private Sub CommandButton1_Click()

Dim DL As Long
Dim sup As Integer

DL = Cells(Application.Rows.Count, 2).End(xlUp).Row
Range("A12").Value = Range("B" & DL).Value

DL = Cells(Application.Rows.Count, 3).End(xlUp).Row
Range("A13").Value = Range("C" & DL).Value

sup = Cells(Application.Rows.Count, 4).End(xlUp).Row
For i = sup To 3 Step -1
If Cells(i, 4) > 0 Then
    Range("A14").Value = Cells(i, 4).Value
    Exit For
Else
    Range("A14").Value = "Aucune valeur supérieure à 0"
End If
Next
End Sub

Merci beaucoup, ça fonctionne parfaitement !

Effectivement ça fonctionne mieux sans les sélections et copies

Merci pour ton temps!

Rechercher des sujets similaires à "copier derniere valeur colonne superieur"