Bonjour tout le monde,
Je souhaite avoir votre aide pour une automatisation d'une construction d'un tableau récapitulatif
En pièce jointe vous trouverez les détails de ce que je veux avoir comme résultat.
Merci de votre aide
Version imprimable
Bonjour tout le monde,
Je souhaite avoir votre aide pour une automatisation d'une construction d'un tableau récapitulatif
En pièce jointe vous trouverez les détails de ce que je veux avoir comme résultat.
Merci de votre aide
Bonjour,
Tu peux mettre en B2 :
et recopier la formule vers la droite et vers le bas. Mais si tu veux absolument une macro, dis-le.Code:=SI(ESTNUM(EQUIV($A2;INDIRECT("'"&B$1&"'!A:A");0));"*";"")
Bonsoir, effectivement j'ai besoin d'une macro
Merci
Bonjour,
Essaie :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub Recap() Dim Sh As Worksheet, C As Range, Col As Integer, Ligne As Long With Sheets("synthèse") For Each Sh In Sheets If Sh.Name <> "synthèse" Then Col = Application.Match(Sh.Name, .Rows(1), 0) For Each C In Sh.Range(Sh.[A3], Sh.Cells(Sh.Rows.Count, 1).End(xlUp)) Ligne = Application.Match(C.Value, .[A:A], 0) If IsNumeric(Ligne) Then .Cells(Ligne, Col) = "*" End If Next C End If Next Sh End With End Sub
Bonjour ,
ça fonctionne que sur l'exemple envoyé, par contre quand j'ai ajouté des feuilles et j'ai changé les caractères des données ça a bloqué.
:(
ci joint un autre exemple
Merci de ton aide
Pièce jointe 159525
Ca serait bien que tes exemples ne soient pas différents les uns des autres. Est-ce que, dans le vrai classeur, le nom des feuilles figure ou non sur la ligne 1 de la feuille synthèse ?
Dans ce cas, et en admettant que tes données commencent en ligne 2 au lieu de 3 :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub Recap() Dim Sh As Worksheet, C As Range, Col As Integer, Ligne As Long With Sheets("synthèse") Col = 1 For Each Sh In Sheets If Sh.Name <> "Synthèse" Then Col = Col + 1 .Cells(1, Col) = Sh.Name For Each C In Sh.Range(Sh.[A2], Sh.Cells(Sh.Rows.Count, 1).End(xlUp)) Ligne = Application.Match(C.Value, .[A:A], 0) If IsNumeric(Ligne) Then .Cells(Ligne, Col) = "*" End If Next C End If Next Sh End With End Sub
Merci Daniel :)