Je n'arrive pas à résoudre le problème décrit ci-dessous(formule et/ou vba) :
- j'ai une plage dans la colonne A avec plusieurs valeurs qui peuvent être identiques
- dans une colonne B, j'ai des données qui peuvent être différentes selon celles de la colonne A
Je voudrais que dans une autre cellule(ici colonne F), il insère toutes les valeurs issues de la colonne a pour laquelle les critères sont identiques.
dans ce cas, il ne renseigne que la première valeur trouvée en colonne B
La recherchev ne fonctionne pas
Re bonjour à tous,
Le fichier en retour ou au final, j'ai fait la macro (identique) mais sous forme de fonction personnalisée.
En cellule F2 écrire =Fct_Test(E2) puis tirer vers le bas
Voir fichier joint
@+ Lolote83
Sub Test()
xCpt = 0 'Compteur = zéro
xRecherche = [E2] 'Valeur à rechercher
For Each xCell In Range("A2:A9") 'On boucle sur l'ensemble de la base (Ici A2 à A9)
If xCell.Value = xRecherche Then 'Si la cellule lue = recherche alors
xCpt = xCpt + 1 'On passe le compteur à +1
xVal = xCell.Offset(0, 1).Value 'On récupère la donnée à droite (colonne B)
If xCpt = 1 Then 'Si compteur = 1
xResult = xVal 'Résultat = Valeur lue
Else 'Else
xResult = xResult & " / " & xVal 'Compteur >1 ; Résultat = ancien résult & " /" & Valeur lue
End If 'Fin Si
End If 'Fin Si
Next xCell 'Fin boucle
[F2] = xResult 'On affiche le résultat en cellule F2
End Sub
Merci à tous les deux pour la réactivité.
L'approche vba correspond mieux à mon attente mais avec la formule matricielle, cela semble intéressant car je ne connaissais pas.
pour Lolote83,
si ma plage est plus grande(colonne A ET E), ça ne fonctionne pas si je met une boucle while/wend. qu'est ce qu'il m'échappe ?
petite précision : dans ma colonne E, j'ai fais un filtre avancé avec copie "sans doublons" de ma colonne A.
En effet, je rejoins le fichier.
Dans ma cellule F3, il doit être inscrit uniquement 45 mais tout le contenu de F2 est remis.
Re bonjour à tous,
Le fichier en retour ou au final, j'ai fait la macro (identique) mais sous forme de fonction personnalisée.
En cellule F2 écrire =Fct_Test(E2) puis tirer vers le bas
Voir fichier joint
@+ Lolote83
Pièces jointes
Copie de DAV30029 - Recherche valeurs dans colonne (fonction).xlsm
Bien qu'ayant 2016, je n'ai pas la fonction joindre.texte. Il semble qu'elle ne soit disponible qu'à partir de 2019 !!!
Merci pour la participation à ce post
Bonjour à tous,
Perso, voici la version que j'ai, mais pas de "joindre.texte"
Et voici les seules fonctions que j'ai commençant par la lettre J
Et du coup, si j'ouvre le fichier de @job75 , voici comment est traduite la fonction.
Fonction qui affiche les bonnes valeurs à l'ouverture du fichier, mais qui renvoi #NOM? si je viens à modifier une valeur dans la colonne A.