Boucle sur Excel

Bonjour,

Je souhaite créer une boucle ou avoir une fonction qui peut me faire une comparaison entre une valeur dans une cellule et une plage de valeur dans une colonne et me chercher dans mon tableau toutes les valeurs inférieures ou égale à ma valeur calculer.

est ce que vous avez une idée comment faire?

je suis vraiment bloquée,

merci

Bonjour,

Une piste, commentaires dans le code. Reviens si il y a quelque chose qui t'échappe :

Sub Test()

    Dim Plage As Range
    Dim Cel As Range
    Dim CelRef As Range
    Dim Tbl() As Double
    Dim I As Long

    'cellule de référence sur la feuille active
    Set CelRef = Range("B1")

    'défini la plage sur la colonne A de la feuille "Feuil1" à partir de A1, adapter !
    With Worksheets("Feuil1"): Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With

    For Each Cel In Plage

        If Cel.Value <= CelRef.Value Then

            I = I + 1: ReDim Preserve Tbl(1 To I)
            Tbl(I) = Cel.Value

        End If

    Next Cel

    'colle le résultat en colonne C à partir de C1 de la feuille active
    Range(Cells(1, 3), Cells(UBound(Tbl), 3)).Value = Application.Transpose(Tbl)

End Sub

merci beaucoup,je vais essayer et je vais venir vers vous.

Bonjour,

j'ai testé ça a bien marché le problème c'est moi mon tableau est pas dans la première colonne de ma feuille excel et quand je remplace la fonction set plage=.Range(.Cells(1,1) par set plage=.Range(.Cells(12,11) ca me donne que des zero.....

est ce que c'est normal?

PS: (en principe moi je calcule une inertie et je veux que ma boucle cherche tt les valeurs du tableau qui sont inférieur ou égale à la valeur que j'ai calculé et prk pas les repérer dans le tableau avec une couleur )

j'arrive pas à joindre le fichier

merci beaucoup pour votre aide.

Cordialement,

erreur de post

erreur de quoi?

non, non, désolé : c'est moi qui ai fait une erreur.

dhany

je te propose l'instruction ci-dessous :

Set Plage = .Range(.Cells(12, 11), .Cells(.Cells(Rows.Count, 11).End(xlUp).Row, 14))

attention : c'est si ton tableau est à partir de la ligne 12, et des colonnes 11 à 14 (colonnes K à N)

si par exemple la dernière colonne de ton tableau est P, remplace 14 par 16 :

Set Plage = .Range(.Cells(12, 11), .Cells(.Cells(Rows.Count, 11).End(xlUp).Row, 16))

le 2ème 11 est car on calcule la dernière ligne du tableau selon la colonne K (donc selon la 1ère colonne du tableau) ; si c'est préférable de trouver quelle est la dernière ligne selon une autre colonne, par exemple selon la colonne M, tu devras changer ce 2ème 11 en 13, mais sans changer le 1er 11 !

merci de me dire si ça a marché.

dhany

Bonjour,

Merci beaucoup ca marche super bien maintenant juste une question est ce qu'il y a une fonction qui permet de me détecter les valeurs supérieur ou égale à ma valeur que je calcule dans le tableau avec un couleur par exemple rouge?

Je suis chiante je ss

Merci à vous,

Soumia,

Bonjour soumia,

Tu a écrit :

Merci beaucoup ca marche super bien maintenant

merci pour ton retour !


pour ta nouvelle demande, il faut que tu regardes l'aide Excel sur la "Mise en Forme Conditionnelle" (MFC) ;

tu pourras voir que c'est à partir de : onglet Accueil, Groupe Style, Mise en forme conditionnelle.

⚠ tu devras d'abord sélectionner la plage de cellules avant de choisir la commande MFC ;

pour les règles de MFC, y'en a de plusieurs variétés : t'auras l'embarras du choix !

bonne chance !

dhany

Bonjour,

j'ai testé ça a bien marché le problème c'est moi mon tableau est pas dans la première colonne de ma feuille excel

Content que dhany (salut dhany ) ai pu t'aider pour finaliser mais la prochaine fois précise ta demande, la réponse que tu recevra en retour sera d'autant plus précise !

ok merci beaucoup.

Rechercher des sujets similaires à "boucle"