Bonjour à tous,

Je suis nouveau sur le Forum et dans le monde de VBA

Petite présentation rapide,
Je suis étudiant ingénieur ( passage de en 2eme année) en Alternance. Je connais un peu de code en JAVA mais seulement des fonctions simples. La base de la base quoi! J'ai du m'attaquer au VBA pour la modification d'un Userform dans mon entreprise et là juste avant de finir tout mon sub, ça bloque.
Je peux que vous mettre que le passage où ça bloque car je suis pas autorisé à vous mettre le reste des données...

Petite explication,
Je suis chargé de rajouter un champs de recherche global. Tout fonctionne, mon choix de critères avec ma combo box, la texte box pour la valeur cherchée selon le critère sauf que quand j'ajoute un code pour qu'il me fasse un filtre quand il s'agit d'intervalle ( par exemple si j'ai une valeur min 60 en colonne A1 et valeur max 80 en B1, il faut que si la personne ecrit 70 que la ligne s'affiche quand même vu que c'est dans le bon intervalle)

J'ai essayé plusieurs codes, mais maintenant quand je rentre par exemple en valeur (lookupvalue dans mon code) 17, mon code devrait m'afficher 18 possibilité mais il m'en affiche beaucoup plus qui ne correspondent pas à l'intervale demandé.

Voici mes différents codes pour cette fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   For Line = 2 To LastLine
               If Sheets("BF").Cells(Line, 1).Value = "" Then
               Sheets("Tabelle1").Select
                    If Sheets("Tabelle1").Cells(Line, 4).Value >= lookupvalue And Sheets("Tabelle1").Cells(Line, 5).Value >= lookupvalue Then
 
                            Sheets("Tabelle1").Rows(Line).Select
                            Selection.Copy
                            Sheets("BF").Select
                            Sheets("BF").Rows(Line).Select
                            ActiveSheet.Paste
                   Else
                   End If
               Else
               End If
                    Next Line
Sur le premier j'ai aussi éssayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
If Sheets("Tabelle1").Cells(Line, 4).Value >= lookupvalue=>Sheets("Tabelle1").Cells(Line, 5).Value >= lookupvalue Then
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 If Sheets("Tabelle1").Cells(Line, 4).Value < lookupvalue<Sheets("Tabelle1").Cells(Line, 5).Value >= lookupvalue Then


2.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sheets("Tabelle1").Select
For Line = 2 To LastLine
Select Case lookupvalue
       Case Sheets("Tabelle1").Cells(Line, 4).Value To Sheets("Tabelle1").Cells(Line, 5).Value
        If Sheets("Tabelle1").Cells(Line, 4).Value Or Sheets("Tabelle1").Cells(Line, 5).Value <> " " Then
                Sheets("Tabelle1").Select
                Sheets("Tabelle1").Rows(Line).Select
                Selection.Copy
                Sheets("BF").Select
                Sheets("BF").Rows(Line).Select
                ActiveSheet.Paste
        Else
        End If
    End Select
Next Line

ha oui je précise quand même que je connais pas vraiment les fonctions de base du vba donc je tente de contourner avec des boucles quand j'ai un obstacle. c'est plus long mais ça marche (à part dans ce cas). Et pour expliquer les copiers collés et tout c'est parce que je passe par un autre tableau pour faire le tri. De plus, il y a un premier tri avant avec les "valeurs vraies" c'est pour ça que je lui dit de passé à la ligne suivante si la ligne dans BF est déjà présente.

Si vous avez une idée sur le pourquoi ces boucles ne fonctionnent pas je suis preneur

Bonne journée à vous et merci d'avance