UREGNT SVP Programme VB

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

billyzkick

XLDnaute Nouveau
Bonjour,

J'ai besoin d'un petit programme VB pour résoudre le problème ci-dessous:

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


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 🙂
 
Re : UREGNT SVP Programme VB

Dès que possible...
j'ai developper un outil sous excel dont j'ai besoin pour le boulot
j'ai deja fait 90% mais il me manque ca pour finir je ne suis pas assez caler en VB pour y arriver

au plutot y sera fini ou plutot je pourrais avancer sur un projet important
 
Re : UREGNT SVP Programme VB

Bonjour

Ci dessous une macro
Code:
Option Explicit
Dim i As Long
Dim lidep1 As Long
Dim nomfeuille1 As String

Dim col1 As String

Sub travdemande()
lidep1 = 2
nomfeuille1 = "Feuil1"

col1 = "B"
With Sheets(nomfeuille1)
For i = lidep1 To 1000  'en fonction du nombre de ligne on peut mettre 1000-5
    If .Range(col1 & i + 5) >= .Range(col1 & i + 4) Then ' ou > si l'égalité n'est pas permise
    If .Range(col1 & i + 4) >= .Range(col1 & i + 3) Then
    If .Range(col1 & i + 3) >= .Range(col1 & i + 2) Then
    If .Range(col1 & i + 2) >= .Range(col1 & i + 1) Then
    If .Range(col1 & i + 1) >= .Range(col1 & i) Then
    .Range("C1") = .Range("a" & i)
    .Range("d1") = .Range("a" & i + 5)
    End If
    End If
        End If
    End If
    End If
Next i

End With
End Sub

Il est important que les valeurs numériques soient des nombres et non du texte.

JP
 
Dernière édition:
Re : UREGNT SVP Programme VB

salut à tous

bien vu jp14 tu m'as devancé d'une courte longueur

en regardant ton code, je me rends compte que j'ai commis les mêmes erreurs que toi

une suite 2 5 5 6 7 ne seras pas prise en considération car les deux (5) qui se suivent feront capoter la logique il faut donc remplacer ">" par ">="

au cas (fort probable) ou on trouve plusieurs suites ascendantes, les cellules "C1" et "D1" n'afficheront jamais que la position de la dernière suite trouvée

par manque de temps de ma part, pourrais-tu faire ces modifs puisque billyzkick a l'air pressé

Bonne fin de WE à tous
 
Re : UREGNT SVP Programme VB

Bonsoir phlaurent55

salut à tous

bien vu jp14 tu m'as devancé d'une courte longueur

en regardant ton code, je me rends compte que j'ai commis les mêmes erreurs que toi

une suite 2 5 5 6 7 ne seras pas prise en considération car les deux (5) qui se suivent feront capoter la logique il faut donc remplacer ">" par ">="

au cas (fort probable) ou on trouve plusieurs suites ascendantes, les cellules "C1" et "D1" n'afficheront jamais que la position de la dernière suite trouvée

par manque de temps de ma part, pourrais-tu faire ces modifs puisque billyzkick a l'air pressé

Bonne fin de WE à tous
Les modifs sont inscrites, le problème est de savoir si les nombres doivent être strictement supérieur dans ce cas on met > uniquement ou si l'égalité est permise.

JP
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
160
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
193
  • Question Question
Power Query Power Query
Réponses
26
Affichages
576
Retour