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:
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é
If Sheets("Tabelle1").Cells(Line, 4).Value >= lookupvalue=>Sheets("Tabelle1").Cells(Line, 5).Value >= lookupvalue Then
et
If Sheets("Tabelle1").Cells(Line, 4).Value < lookupvalue<Sheets("Tabelle1").Cells(Line, 5).Value >= lookupvalue Then
2.
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
Partager