Bonjour,
Dans un tableau déjà partiellement rempli, j'aimerai pouvoir demander deux valeurs à l'utilisateur puis faire une recherche afin de trouver la ligne où ces deux valeurs existent et, une fois cela vérifié, insérer une troisième valeur demandée à l'utilisateur dans une colonne vierge de cette même ligne.
Exemple:
Dans un tableau où trois colonnes sont déjà remplies (peu importe le nombre de lignes) et où plusieurs valeurs peuvent être identiques dans la même colonne, je cherche la ligne où se trouvent la valeur "nom" dans la colonne A et la valeur "indice" dans la colonne C. Sur cette même ligne, je veux rentrer dans la colonne E la valeur "visa" entrée par l'utilisateur.
J'apprécierai beaucoup de l'aide sur ce sujet... Voilà où j'en suis pour l'instant mais je pense que je ne pense pas que "Find" soit la bonne fonction pour y parvenir. Merci d'avance.
Sub Visas()
Dim entreprise, moe, betmoe, controle, rnomplan, rindiceplan, datevisa, avisvisa As Variant
Dim i, ligne1, col1, ligne2, col2 As Integer
Dim celluletrouvee1, celluletrouvee2 As Range
'recherche du nom du plan
message:
message = InputBox("Veuillez saisir le nom du plan recherché", "Recherche du nom du plan", "Nom du plan")
rnomplan = message
If rnomplan = "" Then
GoTo final
Else
Set celluletrouvee1 = Range("A1:A65536").Find(rnomplan, lookat:=xlWhole)
If celluletrouvee1 Is Nothing Then
message2:
message2 = MsgBox("Non trouvé", vbExclamation, "Voulez vous réessayer?")
YN = message2
If YN = 6 Then
GoTo message
ElseIf YN = 7 Then
GoTo final
Else
ligne1 = rnomplan.Row
col1 = rnomplan.Column
'recherche de l'indice du plan
message3:
message3 = InputBox("Veuillez saisir l'indice du plan recherché", "Recherche de l'indice du plan", "Exemple: A, B, etc")
rindice = message3
If rindice = "" Then
GoTo final
Else
While Cells(ligne1, col1).Offset(0, 2) <> rindice
for i=1to20....
message4:
message4 = InputBox("Veuillez saisir la date du visa", "Date du visa du plan", "xx/xx/xx")
datevisa = mesasge4
Range(ligne1, col1).Offset(0, 6) = datevisa
final:
MsgBox "FIN DU PROGRAMME", vbExclamation, "The end"
End Sub