Chercher dans quel intervalle se situe un nombre

Bonjour tout le monde.

Je dois exécuter une macro en VBA qui permet de vérifier dans quel intervalle se trouve chaque nombre. Mes nombres se situe dans la colonne C. Les intervalles sont disposés sur la plage (F2 ; G50) avec F la colonne borne inferieure et G la supérieure. Dans la colonne H se situe le numéro de l'intervalle. J'aimerais pourvoir réécrire ce numéro d'intervalle dans le colonne D.

Voici un dessin qui illustre mon propos.

intervale

Je sui vraiment un novice de la VBA et le peu d'information que j'ai trouvé sur les forum m'ont permis de réaliser cela :

Sub PTranche()

Dim i, j, k As Integer

 Worksheets("Tranche").Activate

 i = 6
 j = 2

For i = 6 To 50

        For j = 2 To 50

              If Range("C" & i).Value > Range("G" & j).Value And Range("C" & i).Value < Range("G" & j).Value Then Range("D" & i).Value = Range("H" & j).Value
              ElseIf Range("C" & i).Value < Range("G" & j).Value Then Range("D" & i).Value = Range("H" & j).Value

              End If

         Next j

Next i

End Sub

Quelqu'un pourrait m'aider à modifier mon code pour que cela fonctionne ?

Merci d'avance pour chaque réflexions.

Bonne journée à tout le monde :)

11intervale.xlsm (14.90 Ko)

Bonjour

peut être le bon resultat

Sub PTranche()

Dim i As Integer
Dim j As Integer
Dim k As Integer

 Worksheets("Tranche").Activate

 i = 2
 j = 2

For i = 2 To 50

        For j = 2 To 50

              If Range("C" & i).Value > Range("F" & j).Value And Range("C" & i).Value < Range("G" & j).Value Then Range("D" & i).Value = Range("H" & j).Value
'              ElseIf Range("C" & i).Value < Range("G" & j).Value Then Range("D" & i).Value = Range("H" & j).Value

'              End If

         Next j

Next i

End Sub

merciiiiiiiiiiiii

Bonjour à tous,

pourquoi une macro alors que =EQUIV(C2;$F$2:$F$39;1) suffit ?
La colonne G est inutile ici.
Et si tu veux vraiment en vba, tu peux le faire avec cette formule...
eric

Bonjour à tous,

ValeursIntervales correspond à la zone $G$2:$H$40

Sub Test()

Dim DerniereLigne As Integer

    With Sheets("Tranche")

         DerniereLigne = .Cells(.Rows.Count, 3).End(xlUp).Row
         With .Range(.Cells(2, 4), .Cells(DerniereLigne, 4))
             .Formula2R1C1 = "=VLOOKUP(RC[-1],ValeursIntervales,2,TRUE)+1"
         End With

    End With

End Sub
capture

Un énorme merci toutes vos solutions marchent impeccablement !! :D

Rechercher des sujets similaires à "chercher quel intervalle situe nombre"