Pb variable comparaison nom prénom

Mathioustone Messages postés 20 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 16 mai 2011 - 16 mars 2011 à 15:11
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 16 mars 2011 à 19:46
Bonjour à tous,
J'ai un soucis de type, d'argument ou d'objet lorsque je souhaite utiliser cette fonction. J'ai deux colonnes H et I qui définissent respectivement le nom et le prénom du client. Je voudrais comparer mon nouveau client que je viens de saisir avec ceux déjà rentrés dans la base de données pour évité tout doublon éventuel.
Le programme est défaillant lorsque celui-ci compare mon entrée aux suivantes.
Malgrés la différence/similitude sur les noms de famille, du moment que le prénom est identique à un de ceux déjà rentrés, alors le client existe déjà.

Public Sub Worksheet_Change(ByVal Target As Range)         
i = Target.Row
If Target.Address = Range("I2").Address Then
    If (Not IsEmpty(Cells(i, 8))) And (Not IsEmpty(Cells(i, 9))) Then
    ch = Trim(Feuil2.[H2])
        If Len(ch) > 2 Then
        prenom = Trim(Feuil2.[I2])
            If (WorksheetFunction.CountIf(Feuil2.[H:H], ch)) And (WorksheetFunction.CountIf(Feuil2.[I:I], prenom)) Then
            MsgBox "CE CLIENT EXISTE DÉJÀ!"
            End If
        End If
    End If
End If


Ai-je mal programmé mon code? je ne vois pas du tout d'où proviens l'erreur car le suivi des variables est pas possible avec la fonction "worksheetfunction.countfif" ou du moins je ne sais pas le faire

Merci d'avance
Math'

Apprendre le français avant d'apprendre tout autre langage est une chose essentielle

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 mars 2011 à 19:46
Salut

Tel que tu le fait, du moment que le nom et le prénom se trouvent respectivement dans tes colonnes H et I, il dira que le client existe.
Par contre, ceci est aussi valable si le nom et le prénom ne sont pas sur la même ligne !

Je pense qu'il te faut rechercher dans ta colonne H un nom similaire, puis tester si la cellule de droit, colonne I, est le prénom (avec .Offset)

D'autre part, tu mémorise kle nom (ch) et le prénom (prenom) depuis les cellules Feuil2.[H2] et Feuil2.[I2].
Puisque tu sembles faire ton comptage sur les colonnes H et I de cette même feuille, normal qu'il les trouve ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous