Chercher donné dans un autre feuille

Bonjour a tous

J'ai une macro qui me permet de vérifier si le "nom" a déjà été saisie.

If Application.WorksheetFunction.CountIf(Range("BM:BM"), TextBox20.Value) = 2 Then
 MsgBox ("Ce nom a déjà été saisie"), vbOK + vbInformation, "ATTENTION"
    End If

Je n'arrive pas a trouvez le moyen de vérifier si le "nom" a déjà été saisie dans un autre classeur FERMER (C:\Pilotage\PILOTAGE 2017.xlsm).

Le fichier sur lesquels je travail ce trouve sur (C:\Pilotage\PILOTAGE 2018.xlsm).

Merci de votre aide.

RE bonjour

bon j'ai simplifier mon problème.

j'ai recopier la feuille concerner et masquer.

Mais comment lui dire de vérifier la feuille 2.

J'ai essayer ça mais cela ne fonctionne pas.

If Application.Sheets("pilotage 2017").CountIf(Range("BM:BM"), TextBox20.Value) = 2 Then
 MsgBox ("Ce nom a déjà été saisie"), vbOK + vbInformation, "ATTENTION"

Merci de votre aide.

Bonjour.

Personne n'as d'idée .

Être si prêt du but et être bloqué c'est stressant

Merci à tous

Bonour,

Ton message a été lu à 23 reprises.

Il est peut-être temps de reformuler correctement ta demande et de penser à joindre un fichier.

Cdlt.

Bonjour

je pense que cela va être dur d’être plus clair mais je vais essayer.

J'ai une ligne de commande dans mon fichier qui est la suivante:

If Application.WorksheetFunction.CountIf(Range("BM:BM"), TextBox20.Value) = 2 Then
 MsgBox ("Ce[b] nom[/b] a déjà été saisie"), vbOK + vbInformation, "ATTENTION"
    End If

et qui permet de savoir si le contenu de la textbox20 existe déjà dans la colonne BM .

Je souhaiterais que cette même ligne de commande vérifie la colonne BM Mais sur la feuille "pilotage 2017" (qui est masquer).

J'ai essayer ceci

If Application.Sheets("pilotage 2017").CountIf(Range("BM:BM"), TextBox20.Value) = 2 Then
 MsgBox ("Ce nom a déjà été saisie"), vbOK + vbInformation, "ATTENTION"

Mais cela ne fonctionne pas.

J’espère avoir été plus clair.

ps: je ne peux pas joindre le fichier car trop de donnée confidentiel et en plus il fait prêt d'1GO .

Merci de votre aide

Re,

Essaie ainsi :

With ActiveWorkbook.Worksheets("Pilotage 2017")
        If .WorksheetFunction.CountIf(.Range("BM:BM"), TextBox20.Value) = 2 Then
            MsgBox ("Ce nom a déjà été saisi"), vbOK + vbInformation, "ATTENTION"
        End If
    End With

Nota : Je ne comprends pas le =2

Merci Jean-Eric

Le 2 représente le nombre de fois que le "nom "à été saisie.

C'est à ce moment là que je dois avoir l'alerte.

Pour être plus clair c'est un fichier qui me sert dans l'entreprise afin de pouvoir suivre les accidents et autres.

Quand je saisis un nom si il apparaît plusieurs fois c'est qu'il y a un problème sur une machine ou autre et qu'il faut régler ce problème d'urgence.

En fait cela permet de nous alerter immédiatement à la saisie.

Re,

Donc >1 !?

Quel est le résultat de ma proposition ?

Cdlt.

Re.

Je ne peux pas voir pour le moment mon fichier bureau.

Mais je teste des demain matin à mon arrivée et te tiens au courant merci de ton aide.

Bonjour

Bon apparement cela ne fonctionne pas.

est ce que cela peut etre du au fait que cela passe par un userform .

Franchement je suis perdu.

capture

Merci de votre aide

Bonjour,

A tester !...

Dim ws As Worksheet
Dim rng As Range
Dim x As Double
    Set ws = ActiveWorkbook.Worksheets("Pilotage 2017")
    Set rng = ws.Range("BM:BM")
    x = WorksheetFunction.CountIf(rng, TextBox20.Value)
    If x > 1 Then
        MsgBox "Ce nom a déjà été saisi " & x & " fois.", 64, "Attention !..."
    End If

Bonjour

Bon j'ai retrouver un ancien model auquel j'ai ajouter ton code ,Mais cela ne fonctionne toujours pas.

Je joint l'ancien fichier si quelqu'un a une idée

3pilotage2-test.xlsm (164.93 Ko)

Re,

Cela fonctionne, pour peu qu'il y ait un nom en doublon en colonne AD.

Cdlt.

Re bonjour

Je viens de retester et je suis au regret de vous dire que cela ne fonctionne pas .

Dans l'onglet "2017" j'ai dans la colonne IDENTIFIANT "A123" "B456" et "C789"

et lorsque je passe par la saisie dans l'userform qui saisie les donnés sur la feuille "pilotage" je saisie par exemple "B456"

capture

et il ne me signale pas que cet IDENTIFIANT a deja été saisie (dans l'onglet 2017).

10pilotage2-test.xlsm (163.66 Ko)

Re,

Remplace >1 par >0 dans le test If.

Cdlt.

Re bonjour

SUPER merci de ton aide et de ta patience.

Bien a toi.

Rechercher des sujets similaires à "chercher donne feuille"