RechercheV avec 2 critères VBA

evilfire

XLDnaute Nouveau
Bonjour à toutes et à tous,

Voilà en ce moment je suis en stage et je suis amener à utiliser le VBA pour réaliser divers projet.

En ce moment je dois réaliser un tableau avec incrémentation automatique, dans lequel je souhaite mettre une RechercheV.

C'est là que je coince.

'++++++++++++++++++++++++++++++++++++ I N I T I A L I S A T I O N +++++++++++++++++++++++++++++++++++
Private Sub UserForm_Initialize()

With ComboBox1
.AddItem "0028 Directeur Classe Normale"
.AddItem "0018 Directeur Hors Classe"
.AddItem "2127 Directeur Soins Form. 2 Cl."
.AddItem "2113 Directeur Soins S.l. 1 CL"
.AddItem "0162 Directeur Ets. San. Soc. CN"

End With

With ComboBox2
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"

End With
End Sub

'+++++++++++++++++++++++++++++++++++ N E T T O Y A G E des CHECKBOXS +++++++++++++++++++++++++++++++++++

Private Sub CheckBoxVide()

Dim Ctrl As Control

For Each Ctrl In Me.Controls

If Ctrl.Tag = "Toto" Then

Ctrl.Value = False
End If
Next Ctrl
End Sub


'+++++++++++++++++++++++++++++++++++++++ V A L I D A T I O N +++++++++++++++++++++++++++++++++++
Private Sub OK_Click()
'Déclaration des Variable qui vont être utilisées
Dim A As String
Dim B As String
Dim C As String
Dim D As String
Dim E As String
Dim F As String
Dim G As String
Dim H As String
Dim I As String
Dim J As String
Dim K As String
Dim L As String
Dim M As String
Dim N As String
Dim O As String
Dim Post As String
Dim Ligne As Byte
Dim Test As Byte
Dim msg As Integer

If Range("A65000").Value <> "" Then

msg = MsgBox("Vous êtes arrivé en fin de tableau, voulez vous purger les données ?", 4, "ATTENTION")



If msg = 6 Then
Range("A5:AB65000").ClearContents

ElseIf msg = 7 Then
Unload UserForm1
Exit Sub
End If
End If

If OptionButton5.Value = True Then Post1 = "P"
If OptionButton6.Value = True Then Post1 = "S"
If OptionButton7.Value = True Then Post = "00 Titulaire"
If OptionButton8.Value = True Then Post = "09 Stagiaire / Titulaire"
If OptionButton9.Value = True Then Post = "12 Stagiaire"


Test = 0

If TextBox1 = True Then
A = Post
Test = Test + 1
End If
If TextBox2 = True Then
B = Post
Test = Test + 1
End If
If TextBox3 = True Then
C = Post
Test = Test + 1
End If
If TextBox4 = True Then
D = Post
Test = Test + 1
End If
If OptionButton7 = True Then
E = Post = "00 Titulaire"
Test = Test + 1
End If
If OptionButton8 = True Then
F = Post
Test = Test + 1
End If
If OptionButton9 = True Then
G = Post
Test = Test + 1
End If
If ComboBox1 = True Then
K = Post
Test = Test + 1
End If
If OptionButton5 = True Then
L = Post
Test = Test + 1
End If
If OptionButton6 = True Then
M = Post
Test = Test + 1
End If
If TextBox6 = True Then
N = Post
Test = Test + 1
End If
If ComboBox2 = True Then
O = Post
Test = Test + 1
End If


If Test = 0 Then


MsgBox "Vous devez au moins cocher une case !", vbCritical, "Invalide"
Exit Sub

Else: MsgBox "Données ajoutées", vbInformation, "Valide"
End If

Ligne = Sheets("Personnel de Direction").Range("A65000").End(xlUp).Row + 1


Cells(Ligne, 1).Value = TextBox1.Value
Cells(Ligne, 2).Value = TextBox2.Value
Cells(Ligne, 3).Value = TextBox3.Value
Cells(Ligne, 4).Value = TextBox4.Value
Cells(Ligne, 5).Value = Post
Cells(Ligne, 6).Value = Post1
Cells(Ligne, 7).Value = TextBox6.Value
Cells(Ligne, 8).Value = ComboBox1.Value
Cells(Ligne, 9).Value = ComboBox2.Value
Cells(Ligne, 10).Value = Application.WorksheetFunction.VLookup(ComboBox1.Value & ComboBox2.Value, Range("o5:q24"), 3, False)


Unload UserForm1
End Sub

'+++++++++++++++++++++++++++++++++++++++ R E S E T +++++++++++++++++++++++++++++++++++

Private Sub Reset_Click()
Dim msg As Integer

msg = MsgBox("voulez vous purger TOUTES les données ?" _
& Chr(10) & "Repondez OUI" & Chr(10) & "ou simplement les Checkbox ? " _
& Chr(10) & "Répondez NON", 4, "ATTENTION")

If msg = 6 Then
Range("A5:AB65000").ClearContents
CheckBoxVide
ElseIf msg = 7 Then
CheckBoxVide
End If

End Sub


'++++++++++++++++++++++++++++++++++++++ A N N U L E R +++++++++++++++++++++++++++++++++++
Private Sub Annuler_Click()

Unload UserForm1
End Sub

Comme vous devez l'avoir compris ma recherchev serait fonction de deux critères.

En effet je sélectionne dans ma première ComboBox le métier excercé (par exemple Infirmier D'Etat), et dans la deuxième je sélectionne son échelon (exemple 3ème echelon) toujours via une ComboBox.

La recherchev se fait dans une plage de donnée regroupant en colonne 1 le métier et en 2 l'échelon. La troisième colonne correspond à la rémunération de base.

J'aimerais savoir comment faire pour lié les 2 critères dans la rechercheV

Merci d'avance à ceux qui ont pris la peine de lire, et à ceux qui proposeront des idées.

Cordialement

Evilfire
 
C

Compte Supprimé 979

Guest
Re : RechercheV avec 2 critères VBA

Bonjour EvilFire,

Sans un bout de ton fichier, il est difficile de te répondre :cool:

Déja dans ton code, je ne vois pas à quoi sert toutes les définitions de variable de A à O !?

Merci de nous joindre ce qu'il faut.

A+
 

JNP

XLDnaute Barbatruc
Re : RechercheV avec 2 critères VBA

Bonjour Evilfire :),
RechercheV est une formule, alors que VBA est de la programmation...
Pour faire ta recherche double critères, le plus simple est de passer un For I = 1 To ... et de faire un test avec And pour vérifier que les 2 conditions sont réunies. Attention, tu ne va faire remonter que le premier résultat trouvé, à moins d'utiliser AddItem pour remplir un ComboBox ou une ListBox avec toutes les solutions trouvées.
J'espère que ça va te faire avancer.
Bon courage :cool:
Bonjour BrunoM45
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
192
Réponses
1
Affichages
168

Statistiques des forums

Discussions
312 243
Messages
2 086 551
Membres
103 246
dernier inscrit
blablasss