Mathioustone
Messages postés20Date d'inscriptionmercredi 22 décembre 2010StatutMembreDernière intervention16 mai 2011
-
16 mars 2011 à 15:11
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)