Module de recherche VB dans Excel

Fermé
Billyzekick - 13 janv. 2008 à 17:48
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 - 13 janv. 2008 à 20:55
Bonjour,

Voici mon problème:

J'ai des données dans deux colonnes A et B d'environ 2000 lignes
Dans la colonne A j'ai des données triées par ordre croissant et dans la colonne B des données dans le desordre et que je ne dois pas trier (je m'en sert pour tracer un graph)

Je souhaite faire une recherche dans la colonne B (entre les lignes 1 et 1000) de la première et de la dernière valeur pour lesquelle j'ai au minimum 5 points consécutifs croisant et renvoyer les valeurs correspondante de la colonne A dans deux cellules

exemple:
A B
1 2
2 1
3 4
4 5
5 3
6 7
7 8
8 9
9 10
10 11
11 12
12 3
13 4

Il y a donc 6 points consecutifs croisant dans la colonne B (7, 8, 9, 10, 11, 12)

J'ai besoin de connaitre la valeur de la colonne A correspondant à la valeur 7 (6 dans notre exemple) et la valeur de la colonne A correspondant à la valeur 12 (11 dans notre exemple)

Ces deux valeurs seront stockées dans les cellules C1 et D1 par exemple

J'espere avoir été assez clair c'est pas facile à expliquer par ecrit
Si quelqu'un arrive à me faire ca je le (ou la) remercierai jamais assez ca m'enleverai une grosse épine du pied

Merci d'avance à tous
A voir également:

2 réponses

Sub Macro1()
A toi a choisir l endroit et le formùat de la restitution



Dim ValA1, x, ValB1, cpt, i As Integer
i = 1
cpt = 0
x = 1
Do While Range("A" & i).Value <> ""
ValA1 = Range("A" & i).Value
ValB1 = Range("B" & i).Value
Do While (Range("B" & i).Value) + 1 = Range("B" & (i + 1)).Value
i = i + 1
cpt = cpt + 1
Loop
If cpt >= 4 Then
Range("C" & x).Value = ValA1
Range("D" & x).Value = ValB1
Range("E" & x).Value = Range("A" & i).Value
Range("F" & x).Value = Range("B" & i).Value
x = x + 1
End If
cpt = 0
i = i + 1
Loop
End Sub
0
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 6
13 janv. 2008 à 20:55
et j ai fait ca pour un compteur a 4
tu mets la valeur que tu souhaites
0