Excel VBA Trouver avec une boucle

patou248 Messages postés 10 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 29 janvier 2005 - 10 juin 2004 à 17:00
patou248 Messages postés 10 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 29 janvier 2005 - 11 juin 2004 à 17:17
J'en suis à mes débuts avec les les boucles VBA Excel.
Mon pb:
COL: A3:A:103 AGE Initial de 1,2,3,4,5,etc
B3:B103 AGE Final de 1,2,3,4,5,etc.
C3:C103 Montant montant x inséré
E3:E103 AGE sélect de 1,2,3,4,5,etc
F3:F103 Montant sélet Montant cherché
La boucle Vérifie Chaque cellule de la colone E avec la colone A et B. La valeur de E doit se situer dans l'intervalle de A et B et si VRAI la valeur de C est insérée dans la cellule de la colone F sinon "". Le boucle passe ensuite à la cellule suivante de la colone E et effectue la même condition sur les cellules de A,B,C.

Merci de me répondre

2 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
11 juin 2004 à 08:39
Bonjour,

Ce code devrait te convenir.

Dim celA As Range
Dim celB As Range
Dim celC As Range
Dim celE As Range
Dim celF As Range

Set celA = Range("A1")
Set celB = Range("B1")
Set celC = Range("C1")
Set celE = Range("E1")
Set celF = Range("F1")

'tant que toutes les cellules ne sont pas vides (A, B, C et E) on boucle
While Not (IsEmpty(celA) And IsEmpty(celB) And IsEmpty(celC) And IsEmpty(celE))

    'si E est compris entre A et B
    If (celE > celA And celE < celB) Or (celE < celA And celE > celB) Then
        'alors on met la valeur de C dans F
        celF.Value = celC.Value
    End If

'on descend les cellules d'une ligne
Set celA = celA.Offset(1, 0)
Set celB = celB.Offset(1, 0)
Set celC = celC.Offset(1, 0)
Set celE = celE.Offset(1, 0)
Set celF = celF.Offset(1, 0)
Wend


Fanny
0
patou248 Messages postés 10 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 29 janvier 2005
11 juin 2004 à 17:17
Salut Fanny,

Je te remercie de ta réponse.

J'ai changé l'adresse des cellulles pour que l'instruction débute à la ligne 3.

On retrouve les valeurs suivantes à la ligne 3:
Col A;40 B;50 C;5,000$ E;40 F:""
À la ligne 4
Col B;51 B;60 C;10,000$ E;41 F;""
À la ligne 5
Col B;61 B;65 C;15,000$ E;42 F;""

La colone E incrémente la série 40 à 100 à partir de la ligne 3.

Ainsi après l'exécution de la routine la colone F devrait afficher à partir de la ligne 3 les valeurs suivantes;
de 40 à 50 5,000$ (lignes 3 à ligne 13)
de 51 à 60 10,000$ (ligne 14 à ligne 23)
de 61 à 65 15,000$( ligne 24 à ligne 28)

Pour l'instant il n'y a aucune valeur s'affichant à la colone F.

Un gros Merci !

Patou
0