Macro VBA RechercheV si contenir

Bonsoir à tous.

Cela fait un moment que je regarde le forum, et j'ai appris déjà appris les bases grâce aux cours disponibles. Je suis quand même encore débutant en VBA et j'ai une macro à réaliser qui me dépasse.

J'aimerais savoir si quelqu'un pouvait me proposer une solution à mon problème.

Je m'explique. J'ai un fichier avec deux feuilles, une ou j'y colle des opérations extraites de relevés bancaires (date, libellé, débit et crédit) Sur une second feuille j'ai une liste d'affectation possible selon des comptes comptable. En fait je cherche à réaliser une macro qui en fonction du mot contenu dans la cellule "libellé", va venir lire la liste des affectation possible sur l'autre feuille, et va m'indiquer dans la colonne a coté du crédit le numéro du compte comptable.

Je vous ai joint un fichier en exemple afin d'être plus clair. Je dois pouvoir remplir les colonnes bleues de la "feuil1" grave à la liste des affectation de la feuille "affectation". J'ai essayer avec du Vlookup mais je n'arrive pas à utiliser la condition CONTENIR.

Merci d'avance pour votre aide

Chris

24affectation.xlsx (10.34 Ko)

Bonsoir et bienvenu(e)

A tester

Bonsoir Banzai,

Merci pour votre aide.

Je ne vois pas de module, comment suis-je sensé utiliser le code que vous avez créer sur la feuil1 ?

Bonsoir Banzai et christrucci

j'ai pas regardé le fichier de Banzai que je salue mais voici ma contribution. ctrl + q pour lancer la macro.


Edit : Christucci pour faire fonctionner le fichier de Banzaî il suffit de créer une opération sur une nouvelle ligne et le num du compte s'affichera automatiquement

Oh effectivement, le fichier de Banzai est d'une très belle approche.

Merci Force Rouge, ta macro est parfaite. J'imagine déja le temps que je vais gagner grace à toi.

Merci encore à vous deux c'est nickel

Est ce que je peux ajouter de nouvelles affectations sans limites au besoin avec la macro de Force Rouge ?

Bonsoir,

Bonsoir, Banzai

Comme il semble faire un import par copier/coller, j'ai opté pour une fonction...

@ Christrucci, dans le fichier joint, tu mets la formule comme ceci :

=comptes($B2;COLONNE())

Bien sûr, la fonction est adaptée à ton fichier exemple....

Regarde le fichier joint

Bonne soirée

30rucci-v1.xlsm (17.72 Ko)

Edit, bonsoir Force rouge, à priori, tu as également opté pour une macro (sans non plus regardé ton fichier...)

Edit2, @ Christrucci, avec cette fonction, tu peux rajouter autant d'affectations que tu veux...

Excellent, encore une autre possibilité. Merci cousinhub.

Ca me donne vraiment envie d'apprendre d'avantage à encoder. C'est vraiment pratique et avec des approches totalement différentes vous parvenez tous au résultat.

Je vais voir quelle méthode est la plus adaptée en situation réelle. Sachant que je vais utiliser ce fichier avec 1 000 a 2 000 lignes à la fois. J'aurai plus qu'a créer mes affectations

Merci encore 8)

Salutation cousinhub, oui j'ai opté pour une macro

Option Base 1

    Sub macro()
        Dim dl&, i%, j%, k%, tablo() As String
        dl = Feuil2.Range("a" & Rows.Count).End(xlUp).Row
        ReDim tablo(dl - 1)
        For j = 1 To UBound(tablo)
            tablo(j) = Feuil2.Range("a" & j + 1)
        Next
        k = 2
        Feuil1.Activate
        While Feuil1.Range("a" & k) <> ""
            For i = 1 To UBound(tablo)
                If Feuil1.Range("b" & k).Value Like "*" & tablo(i) & "*" Then
                    Feuil2.Range("b" & i + 1 & ":d" & i + 1).Copy Feuil1.Range("e" & k)

                End If
            Next
            k = k + 1
        Wend

    End Sub

Christrucci tu peux en rajouter autant que tu veux que ce soit sur mon fichier ou celui de banzaï et cousinhub...Même sans regarder je suis sur de leur travail...

Cousinhub je viens de regarder ta solution...c'est comme la solution de banzai, c'est ingenieux mais simple...

Force rouge a écrit :

Cousinhub je viens de regarder ta solution...c'est comme la solution de banzai, c'est ingenieux mais simple...

Euh, le "mais", pourrait être remplacé par "et"????

Ou suivi de "trop"????

Bonne soirée

Les deux sans souci M'sieur ! Y a juste le colonne() dans la fonction que je n'ai pas pigé

Rechercher des sujets similaires à "macro vba recherchev contenir"