Bonjour,
J'ai un projet à faire dans lequel il demande de comparer deux colonnes de mots, la colonne A qui contient un texte (provenant d'un fichier Word) et la colonne B qui contient une liste de mot. Pour mon programme je dois mettre dans une autre colonne (C par ex) les mots de la colonne A qui ne sont pas contenus dans la colonne B.
Il faut ensuite permettre à l'utilisateur d'entrer une valeur, si la valeur est trouvée, le programme annonce la ligne de la valeur, si la valeur n'existe pas, le programme doit placer la valeur dans la liste (colonne A).
Le problème dans le code (ci-dessous) c'est qu'il ne reconnait pas bien les valeurs qui existent déjà dans la colonne et les ajoute dans la colonne (alors que la valeur existe déjà…). Je suis novice dans la matière et j'aurais besoin de votre aide pour trouver mon erreur.
sub chercher ()
Dim pligne, dligne, ligne As Double
Dim valeurcherchee As String
pligne = 0
dligne = Cells(Rows.Count, 1).End(xlUp).Row
valeurcherchee = InputBox("valeur cherch?e")
While pligne <> dligne - 1
ligne = Int((pligne + dligne) / 2)
Range("A" & ligne).Select
If Selection = valeurcherchee Then
MsgBox ("trouvee en " + CStr(ligne))
Exit Sub
Else
If Selection > valeurcherchee Then
dligne = ligne
Else
pligne = ligne
End If
End If
Wend
If Range("A" & pligne).Value = valeurcherchee Then
MsgBox ("trouv? en " + pligne)
Else
If Range("A" & dligne).Value = valeurcherchee Then
MsgBox ("trouv? en " + dligne)
Else
'check < than first
If Range("A2").Value > valeurcherchee Then
pligne = 1
End If
' check > last
If Range("A" & dligne).Value < valeurcherchee Then
pligne = dligne
End If
'general case :insertion just after premligne
Cells(pligne + 1, 1).Select
Selection.EntireRow.Insert
Cells(pligne + 1, 1) = valeurcherchee
' MsgBox ("Non trouv?")
End If
End If
End Sub
Merci d'avance pour vos réponses!
Tiff