Page 1 sur 2

comment récupérer la première valeur d'une colone

Posté : 19 janvier 2016, 18:57
par frayor
Bonjour,

Je souhaiterai créer une macro, qui me permettrai de récupérer la première valeur supérieur a zéros dans une colonne

Merci d’avance

Re: comment récupérer la première valeur d'une colone

Posté : 19 janvier 2016, 19:39
par oyobrans
Bonsoir,
Option Explicit
Public Sub valeur()
    Dim cell As Range
    For Each cell In Range("A2:A100")
        If cell.Value > 0 Then
            MsgBox "Première valeur positive : " & cell.Value
            Exit Sub
        End If
    Next
End Sub

Re: comment récupérer la première valeur d'une colone

Posté : 20 janvier 2016, 10:09
par frayor
Bonjour

Tout d abord merci pour ta réponse oyobrans

Mai je souhaiterai plus une formule qui permettent d afficher la valeur trouver dans une cellule définie.

Si possible.

Merci d avance

Ps :un bout de code que j ai fait mais qui ne permet pas de faire ce que je veux ,si une personne pouvez le modifier pour que cela fonctionne comme je veux se serait bien

Sub a ()

Sheets ("feuil2").select

Range ("e1:e21").end (xlup).select

Sélection. Copy

Sheets("feuil2").select
Range ("a4").select
Activesheet.paste

End sub

Re: comment récupérer la première valeur d'une colone

Posté : 21 janvier 2016, 08:59
par frayor
Pour êtres plus claire ce que je souhaiterais faire à l aide d'une macro:

Sur la feuille 3 , de la cellule C2 à C25,en partant du haut trouve moi la première valeur supérieure à 0 et copie la dans la cellule A1 de la feuille 3 .

Merci d avance pour vos réponses

Re: comment récupérer la première valeur d'une colone

Posté : 21 janvier 2016, 09:46
par Zirak
Bonjour,

Il n'y avait pas grand chose à modifier sur la proposition d'oyobrans :
Option Explicit
Public Sub valeur()
    Dim cell As Range
    For Each cell In Worksheets("feuil3").Range("C2:C25")
        If cell.Value > 0 Then
            Worksheets("feuil3").Range("A1") = cell.Value
            Exit Sub
        End If
    Next
End Sub

Re: comment récupérer la première valeur d'une colone

Posté : 21 janvier 2016, 10:41
par frayor
Super merci Zirak

C'est ce que je rechercher

Comment fait tu pour inverser le sens de recherche (au lieu de commencer part le bas , commencer par la cellule du haut la recherche)

Re: comment récupérer la première valeur d'une colone

Posté : 21 janvier 2016, 10:53
par Zirak
Le code fourni doit déjà partir du haut, et tel qu'il est construit, il ne peut aller que de haut en bas, car on y écrit de faire le test pour chaque cellule de la plage C2:C25 (Excel part donc de la cellule C2, et passe à la suivante lors du passage sur "Next", jusqu'à C25).

Pour avoir une boucle pouvant aller de haut en bas ou de bas en haut, plutôt qu'une boucle For Each Next, il aurait fallu utiliser une simple boucle For Next.

De haut en bas :
For i = 2 to 25 
   'code
next i
De bas en haut :
For i = 25 to 2 step -1
   'code
next i
Cordialement.

Re: comment récupérer la première valeur d'une colone

Posté : 21 janvier 2016, 11:48
par frayor
Merci

Sa ne marche pas chez moi

Si cela te dérange pas

Peux tu mettre la macro complète avec for i = 2 to 25 de dans que je voie mon erreur

S il te plait

Merci d avance

Re: comment récupérer la première valeur d'une colone

Posté : 21 janvier 2016, 11:55
par Zirak
Option Explicit
Public Sub valeur()
    Dim i as integer
    For i = 2 to 25
        If Cells(i, 3).Value > 0 Then
            Worksheets("feuil3").Range("A1") = Cells(i, 3).Value
            Exit Sub
        End If
    Next i
End Sub
Mais encore une fois, la version avec For Each va déjà de haut en bas.

Re: comment récupérer la première valeur d'une colone

Posté : 21 janvier 2016, 14:11
par frayor
Super

Encore merci Zirak pour ta patience et toues tes réponses