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

Rechercher & liste deroulante

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • 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 !

Ilino

XLDnaute Barbatruc
Bonsoir Forum
Je vous solicite encore a m’aider
Ci-joint le fichier ,
Je souhaiterai dans la feuille F2 faire la somme de chaque ligne jaune ( ex Z9 AI9) on récupérant les valeurs de la feuille F1 selon la selection de la liste deroulante
GRAZIE
Edit : Merci Job and 00
 

Pièces jointes

Re : Rechercher & liste deroulante

BONSOIR MAPOMME
MERCI POUR LA REPONSE
MAIS J AI TROUVE UN PETIT SOUCI
SI JE SELECTIONNE DANS CHAQUE CELLULE (Liste deroulante) meme valeur je n'aurai pas la somme
exemple si je selectionne A1 dans toutes les cellule de la Ligne 9 j'aurais la somme 1 ????
A+
 
Re : Rechercher & liste deroulante

Bonjour Ilino,

[...] UN PETIT SOUCI
SI JE SELECTIONNE DANS CHAQUE CELLULE (Liste deroulante) meme valeur je n'aurai pas la somme
exemple si je selectionne A1 dans toutes les cellule de la Ligne 9 j'aurais la somme 1 ????
[...]

Un autre essai avec une fonction personnalisée:=SomValeursSi(Criteres , Dans, NumCol) avec:
  • Criteres -> la plage des critères à respecter (plage Z9:AI9)
  • Dans -> la plage où respecter les critères (plage $A$30:$A$2064 de la feuille F1)
  • NumCol -> le décalage à appliquer à la colonne Dans pour trouver la colonne des valeurs à sommer (ici 10)
.
ce qui donne en cellule AJ9 à recopier vers le bas : =SomValeursSi(Z9:AI9;'F1'!$A$30:$A$2064;10)

Le code de la fonction dans module1:
VB:
Function SomValeursSi(xCriteres As Range, xDans As Range, NumCol&)
Dim yCriteres, tabCriteres(), n&, yDans, yCol, i&, i2&, j&, j2&
  
  SomValeursSi = 0
  yCriteres = xCriteres.Value: i2 = UBound(yCriteres, 2)
  n = 0
  For i = 1 To i2
    If Len(yCriteres(1, i)) > 0 Then
      n = n + 1
      ReDim Preserve tabCriteres(1 To n)
      tabCriteres(n) = "/" & yCriteres(1, i) & "/"
    End If
  Next i
  If n = 0 Then Exit Function
  
  yDans = xDans.Value: j2 = UBound(yDans)
  yCol = xDans.Offset(, NumCol).Value
  
  For j = 1 To j2
    If Len(yDans(j, 1)) > 0 Then SomValeursSi = SomValeursSi _
        + (UBound(Filter(tabCriteres, "/" & yDans(j, 1) & "/", True, vbTextCompare)) + 1) _
        * yCol(j, 1)
  Next j
  
End Function
 

Pièces jointes

- 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
7
Affichages
786
Réponses
2
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…