RESOLU recherche à condenser les valeurs à partir d'un critère

DAVAWAY

XLDnaute Junior
Bonjour,
Je cherche à condenser _ à agglomérer l'ensemble des valeurs qui répondent au critère "oui" (onglet dépensesfonctionnement _ colonne P) dans une cellule (onglet demande pj ; cellule a7) afin d'automatiser en partie un formulaire de demande.
Quelqu'un peut me venir en aide :confused: ?
J'ai arpenté les forums sans succès ne comprenant pas trop les formules matricielles..:p
Je suis aussi ouvert à toutes suggestions pour atteindre l'objectif visé;
Merci de m'avoir lu et de tenter une réponse,
Bon après midi,
David
 

Fichiers joints

Dernière édition:

vgendron

XLDnaute Barbatruc
Re : recherche à condenser les valeurs à partir d'un critère

Bonjour

une piste avec une fonction personalisée

code à mettre dans un module standard
Code:
Function DepensesDirectes()
With Sheets("DépensesFonctionnement")
    For i = 19 To 74
        If .Cells(i, "P") = "oui" Then
            liste = liste & Chr(10) & .Cells(i, "C") & " " & .Cells(i, "E") & "€"
        End If
    Next i
End With
    
DepensesDirectes = liste
End Function

puis dans ta feuille "demande pj" en A7 tu tapes le nom de la fonction
=depensesdirectes()

PS: pour que le CHR(10) (=retour à la ligne) serve à quelque chose, il faut activer "Renvoyer à la ligne automatiquement" dans les options d'alignement
 
Dernière édition:

DAVAWAY

XLDnaute Junior
Re : recherche à condenser les valeurs à partir d'un critère

Merci beaucoup pour votre retour, je me suis aventuré pour finir dans une fonction personnalisée mais la votre est très prometteuse.

Serez t'il possible de faire figurer sur une ligne de =depensesdirectes() les infos des colonnes U & V (condense des données et du formalisme..'requête csf'..) ?

Bien à vous
 

vgendron

XLDnaute Barbatruc
Re : recherche à condenser les valeurs à partir d'un critère

il suffit de modifier la fonction comme ceci

j'ai ajouté des commentaires
Code:
Function DepensesDirectes()
'dans la feuille DépensesFonctionnement"
With Sheets("DépensesFonctionnement")
'pour chaque ligne de 19 à 74
    For i = 19 To 74
'si la colonne P contient "OUI" alors
        If .Cells(i, "P") = "oui" Then
'on concatene le contenu des colonnes U et V avec les résultats précédents (Liste) et un retour chariot pour plus de lisibilité
            liste = liste & Chr(10) & .Cells(i, "U") & " " & .Cells(i, "V")
        End If
    Next i
End With

'on renvoie le résultat final    
DepensesDirectes = liste
End Function
 

DAVAWAY

XLDnaute Junior
Re : recherche à condenser les valeurs à partir d'un critère

ok j'étais justement en train d’aménager le code, je m'en pensais pas capable, je regarde votre proposition, super ;)
 

DAVAWAY

XLDnaute Junior
Re : recherche à condenser les valeurs à partir d'un critère

C'est parfait vgendron, j'avais le code ci-dessous mais la "mise en forme" était pas du tout aboutie..
J'abonde mon support avec votre fonction personnalisée ! Super !

Function Test() As String
Application.Volatile
For Each Cel In Range("'DépensesFonctionnement'!P19:p" & Range("P" & Rows.Count).End(xlUp).Row)
If Cel = Range("'demande pj'!A7") Then texte = texte & Cel.Offset(0, 7) & " ! "

Next Cel
If Len(texte) > 0 Then texte = Mid(texte, 1, Len(texte) - 2)
Test = texte
End Function
 

Discussions similaires


Haut Bas