Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche V et gestion des #N/A

  • Initiateur de la discussion Initiateur de la discussion AnnieC
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AnnieC

XLDnaute Nouveau
Bonjour à tous,

Ayant été très très aidée lors de mon dernier besoin, je me permet de revenir vous concernant un petit besoin.

En effet, je souhaiterais comparer deux colonnes dans deux onglets différents (pour les lesquels je ne connais pas les noms mais pour lesquels je comptais utiliser une variable).

J'aimerais en fait que la macro regarde la valeur de la colonne D de l'onglet 2 et aille voir en colonne D de l'onglet 1 si elle est présente..
Si elle est présente (valeur en onglet 1 et onglet 2), elle vient alors mettre "OK" en colonne A,
Sinon (valeur en onglet 2 et NON en onglet1), alors mettre "A traiter" en colonne A.

Sachant que je ne connais pas l'emplacement de la dernière ligne.

Merci à tous pour votre aide précieuse.

Annie
 
Re : Recherche V et gestion des #N/A

Bonjour Annie,

Les vestiges de mon éducation m'ont empêché de commenter ton histoire de "petit besoin" ... Je voudrais que la chose soit actée dans les annales du forum (Petit Jésus, faites que Robert ne passe jamais par ici: je n'ose imaginer ce que ça donnerait!)

Pour le reste, ton titre évoque les RECHERCHEV, puis tu nous parles de macro 😕 ... si une solution est envisageable par formule, tu n'en veux pas?
Un petit bout de fichier nous confirmerait si nous avons bien compris la demande, nous donnerait la possibilité de tester une solution et nous permettrait de vérifier la présence (ou non) de cas particuliers!

Que penses-tu donc de ma question et de ma suggestion?
 
Re : Recherche V et gestion des #N/A

Bonjour à vous deux,

Merci pour l'information; j'éviterais ce genre d'ambiguïté à l'avenir.. Sauf si ce fameux Robert passe par ici & amplifie la chose!!

C'est exactement le résultat que j'attends.. Le hic est que, je peux avoir plusieurs milliers de lignes à traiter et une première partie du traitement de ces données et d'ores et déjà sous macro.

c'est la raison pour laquelle je souhaitais intégrer ce "petit besoin" à ce que j'ai déjà. Ensuite, peu importe si la valeur en A est une formule ou du texte brute car le format final est en CSV.

Mais l'idée est là oui, dans le fichier.

Pouvez-vous m'aider pour la'voir sous forme de code ?

Merci !
 
Re : Recherche V et gestion des #N/A

Merci de ton retour Gérard,

La macro existante à aucun lien avec ce que je recherche (compilation de données dans l'onglet 2).

Je peux envoyer un exemple.. Mais tu l'as parfaitement décrit que le classeur que tu m'as envoyé. Tu as cerné mon problème..

J'aurais juste aimé l'avoir en VBA plutot que de devoir tirer la formule jusqu'en bas.

Merci
 
Re : Recherche V et gestion des #N/A

Bonsoir à tous, 🙂

Tu pourrais faire l'effort de fournir un fichier Annie.
Avec le fichier de natorp.
Résultat en Feuil1, colonne F.
VB:
Sub test()
Dim a, i As Long, b(), y
    Application.ScreenUpdating = False
    a = Sheets(2).Range("d1").CurrentRegion.Value
    With CreateObject("Scripting.Dictionary")
        .CompareMode = 1
        For i = 1 To UBound(a, 1)
            .Item(a(i, 1)) = Empty
        Next
        'y = .keys
        a = Sheets(1).Range("d1").CurrentRegion.Value
        ReDim b(1 To UBound(a, 1))
        For i = 1 To UBound(a, 1)
            If .Exists(a(i, 1)) Then
                b(i) = "ok"
            Else
                b(i) = "à traiter"
            End If
        Next
    End With
    Sheets(1).Range("f1").Resize(UBound(b, 1)).Value = Application.Transpose(b)
    Application.ScreenUpdating = True
End Sub
Pour éviter Application.Transpose, on utilisera ce code :
VB:
Sub test1()
Dim a, i As Long, b(), y
    Application.ScreenUpdating = False
    a = Sheets(2).Range("d1").CurrentRegion.Value
    With CreateObject("Scripting.Dictionary")
        .CompareMode = 1
        For i = 1 To UBound(a, 1)
            .Item(a(i, 1)) = Empty
        Next
        'y = .keys
        a = Sheets(1).Range("d1").CurrentRegion.Value
        ReDim b(1 To UBound(a, 1), 1 To 1)
        For i = 1 To UBound(a, 1)
            If .Exists(a(i, 1)) Then
                b(i, 1) = "ok"
            Else
                b(i, 1) = "à traiter"
            End If
        Next
    End With
    Sheets(1).Range("g1").Resize(UBound(b, 1)).Value = b
    Application.ScreenUpdating = True
End Sub
As-tu remarqué qu'en inversant la position des 2 premières feuilles, on inversait la comparaison ?
klin89
 
Dernière édition:
Re : Recherche V et gestion des #N/A

Bonjour à tous,

Merci !!! Ca fonctionne.

Concernant le fichier, je l'aurais mis sans soucis s'il fallait !

Mais le fichier de Gérard résumait parfaitement mon besoin.. La preuve !

Merci encore.

Bonne journée et bon week-end à tous.

Annie
 
Re : Recherche V et gestion des #N/A

Bonjour à tous,

Pour les formules il est plus simple d'utiliser NB.SI.

Et REPT "pèse" moins lourd que la fonction SI :

Code:
=REPT(SI(NB.SI(Feuil2'!D:D;D1);"Ok";"A traiter");ESTTEXTE(D1))
A+
 
Re : Recherche V et gestion des #N/A

Aha Madame a été servi!! 🙂

J'ai eu toutes les réponses possibles, sous forme de macro et de formules !

Au final, le code fonctionne est je viens de gagner un sacré temps de traitement !

Bon weeknd à tous !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
206
Réponses
4
Affichages
186
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…