Probleme sur les recherche avec plusieurs chaines dans une c

bonjour,

petit problème que je n'arrive pas à résoudre...

J'ai dans une feuille "base de données", 2 colonnes A (noms) et B (prénoms)

A1 Dupont B1 Jean

A2 Boulanger B2 Fred

Dans une autre feuille "résumé" j'ai

A1 Dupont/Boulanger (séparé par /)

et je voudrais avoir en A2:

Jean/Fred (Séparé par / aussi)

Comment faire? Car avec recherchev je ne vois pas

Merci à tous!!!

Bonjour,

En A2 :

=INDEX('base de données'!B2:B3;EQUIV(GAUCHE(A1;TROUVE("/";A1)-1);'base de données'!A2:A3;0)) & "/" & INDEX('base de données'!B2:B3;EQUIV(STXT(A1;TROUVE("/";A1)+1;9^9);'base de données'!A2:A3;0))

A+

Voilà pour compléter ma question... Un fichier test

Le problème étant de remplir dans la feuille résumé les cellules dans l'encadré avec les prénoms dans l'ordre des noms

Le traitement est identique

18test-2.xlsx (8.80 Ko)

A+

Re,

Un dernier fichier pour tenter d'expliquer mon problème....

Merci vraiment à tous pour le partage que vous faites de votre passion

Bonjour,

Une proposition avec une fonction personnelle

27miyhun.xlsm (20.20 Ko)

A+

Parfait, j'ai le plaisir de voir que ça correspond exactement à ce que je cherchais. Mais je ne comprends pas du tout comment tu as fais... Peux tu m’expliquer?? C'est une macro? ça sort d'où?

De plus, imaginons que je veuille modifier ma base de données pour une raison, pourquoi ça n'actualise pas en temps réel le résumé?

Grand Merci

C'est une macro ? ça sort d'où ?

Non, c'est une fonction personnelle.

Tu peux visualiser son code dans l'éditeur sous Module 2.

Function Rechercher(Nom As Range) As String
Dim WsS As Worksheet
Dim Cel As Range, C As Range
Dim Tablo
Dim i As Integer
Dim Valeur As String
    Application.Volatile
    Set WsS = Worksheets("base de données")
    With Worksheets("résumé")
        If Not IsEmpty(Nom) Then
            Tablo = Split(Nom, "/")
            For i = 0 To UBound(Tablo)
                Set C = WsS.Columns(1).Find(Tablo(i), , xlValues, xlWhole)
                If Not C Is Nothing Then
                    Valeur = Valeur & C.Offset(0, 1) & "/"
                End If
            Next i
            Rechercher = Left(Valeur, Len(Valeur) - 1)
            Valeur = ""
        End If
    End With
End Function

Pour permettre l'actualisation en temps réel de la feuille résumé, il faut ajouter l'instruction Application.Volatile (voir en début de code).

A+

Mince, je suis trop novice pour ce que je demande. Je vois pas ce qu'est cette instruction...

Si tu veux de l'aide, il faut que tu fasses l'effort d'étayer un peu tes questions et observations.

Je ne peux pas continuellement chercher à traduire entre les lignes.

A+

Mea culpa!

Merci de ce petit coup de pied, j'ai trouvé

Et super content, puisque tu viens de me débloquer un gros casse tête avec cette fonction. e vais pouvoir bien avancé dans mon dossier

Par contre, il y a 2 module dans le fichier. Les 2 servent ou seulement le module numero 2?

Le module 1 existait déjà dans le fichier que tu as envoyé.

Ce n'est pas à moi de dire à quoi servent les 3 fonctions qu'il contient.

A+

Bonjour a vous

le sujet m'intéresse aussi,j'ai donc copié le fichier que vous avez échangé mais malheureusement il ne fonctionne pas avec mon mac

dans la colonne des valeurs il m'affiche #VALEUR!

avez vous une idée du problème qui me concerne

merci d'avance pour votre aide

frangy a écrit :

Le module 1 existait déjà dans le fichier que tu as envoyé.

Ce n'est pas à moi de dire à quoi servent les 3 fonctions qu'il contient.

A+

Hey Frangie!

J'ai extrait une partie de mon projet afin que tu puisses voir de quoi il s'agissait.

J'ai intégré ta fonction perso et souligné les problèmes que je rencontrais.

Peux tu me dire s'ils peuvent être résolu dans la commande VBA, et si oui, comment. Ou me donner un indice (si pas trop compliqué bien-sur )

MERCI!!!

Bonjour,

Pour le type, le regroupement est fait en utilisant un dictionnaire.

Cet objet permet d'établir une liste sans doublon.

Pour l'univers, on balaye la liste des éléments.

Si tous les éléments sont identiques, on n'en retient qu'un seul.

Dans le cas contraire, on ne change rien.

A+

21test2.xlsm (24.95 Ko)

Merci Frangie, t'es un as!

A moi maintenant de jouer et décortiquer ces codes.

Vanvan, j'ai cru entendre dire que sur Mac il y avait des incompatibilités au niveau du VBA. Peut être que Frangie peut confirmer. Pas sûr que tu puisses transposer la fonction sur ton MAC, bon courage

Bon courage

j'ai vaguement entendu parler de ca mais je n'en n'ai pas eu confirmation.

en tout cas votre fonction ne marche pas avec mon mac et je serai intéressé de connaitre l'avis de Frangy qui t'a si bien dépanné.

Cette fonction m'irait aussi a merveille.

Frangy si tu me lis peux-tu regarder si tu peux faire un miracle

Merci d'avance

Bonjour vanvan1968,

Désolé, j'ai épuisé mon stock de miracles

De plus ma pomme et Mac, on n'est pas voisin.

Cela dit, si un Mac n'était pas capable de traiter une fonction personnelle, il faudrait vite envisager de changer de crémerie.

J'ai donc du mal à le croire.

Faute de mieux, tu peux déjà regarder si tu peux lancer une macro.

Sinon, relance un sujet sur le thème compatibilité Mac / PC.

Un féru de Mac aura peut-être la réponse.

A+

merci Frangy

en effet je vais relancer un post

@+

Salut Frangy,

bon dans mon projet je retombe sur des problèmes...

Je t'envoies le fichier.

Pour les sauts de chariots, je ne sais pas où placer la constante "& vbcrlf" dans le code... Ni pour l'écriture, ni pour la reconnaissance

Si tu trouves un peu de temps pour regarder ça je t'en serai reconnaissant

Thx

Rechercher des sujets similaires à "probleme recherche chaines"