Bonjour à tous,
j'essaye d'écrire un code pour sommer une plage de cellule variable correspondant à un résultat de recherche V
Dans ce code j'ai réussi à faire la recherche V cependant je suis bloqué pour faire ma somme sur la ligne correspondant au résultat de la recherche dans la page "Traitement"
En faite ce que je veux faire : c est résumé dans un tableau la somme des données correspondant à une catégorie dans la page principale,
la difficulté ici est que le nombre de colonne peut être variable,
Par ex :
page Principle colone A sont les catégories
page Traitement : colonne A les catégories et dans les colonnes suivantes ça sera toutes les données, il peut y avoir des données jusqu'a W...
Ce que je veux faire dans la page principale c est que :
chaque cellule de la colonne A seront testées et si le résultat est trouvé => Faire la somme dans la colonne 3 => de toutes les cellules sur la meme ligne (Numero de colonne indéterminé) de la page Traitement.
Pour le moment j'ai mis une SUM fixe pour tester le code : cela marche mais je veux que la plage de cellule ici soit variable en fonction du nombre de cellule remplit pour cette catégorie
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub recherche() 'il va réaliser une recherche V à partir du nom des catégories et si il trouve, il va sommer toutes la ligne correspondante de la page Traitement Dim P As Range, C As Range, Teste With Sheets("DATABASE") Set P = .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp)) End With With Sheets("Traitement") For Each C In P Teste = Application.VLookup(C.Value, .Range(.[A2], .Cells(.Rows.Count, 1).End(xlUp)), 1, 0) If IsError(Teste) Then C.Offset(, 3) = "" Else C.Offset(, 3) = "=SUM(Traitement!B2:I2)" End If Next C End With End Sub
Partager