Bonjour à tous.
J'ai une liste d'item qui se trouve sur la feuille Accueil. Ces mêmes item se retrouvent sur la feuille Modele, mais dans un ordre différent. Cet ordre varie selon les modeles. Les différents modele sont représentés par les chiffres en rouge sur la premiere ligne.
Je voudrais que si la valeur dans l'encadré rouge de la feuille Accueil contient l'un de ses valeurs, qu'ils viennent copier les 2 colonnes écrit en noir sous la valeur correspondante sur la feuille Recap (dans les 2 premières colonnes).
Et si possible, je voudrais qu'il ne recopie par les 2 colonnes si l'état de cet item sur la feuille Accueil indique N/R.
J'ai trouvé cette macro qui selon la valeur d'une cellule sur la Feuil2, il recopie les lignes de la Feuil1 contenant cette valeur. Elle marche super bien, mais j'aimerais la modifier pour qu'elle recopie les lignes et non les colonnes.
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
25
26
27
28
29
30
31
32 Sub toto() Dim i&, j&, k&, l& Dim oDat, sDat(), oTxt$ oDat = Feuil1.[A1].CurrentRegion.Value With Feuil2 oTxt = .[B1].Value l = 1 ReDim sDat(1 To UBound(oDat, 2), 1 To l) If oTxt <> "" Then ReDim sDat(1 To UBound(oDat, 2), 1 To 1) For j = 1 To UBound(oDat, 2) sDat(j, 1) = oDat(1, j) Next j ' l = 1 ' If oTxt <> "" Then For i = 2 To UBound(oDat, 1) For j = 1 To UBound(oDat, 2) If oDat(i, j) Like "*" & oTxt & "*" Then l = l + 1 ReDim Preserve sDat(1 To UBound(sDat, 1), 1 To l) For k = 1 To UBound(oDat, 2) sDat(k, l) = oDat(i, k) Next k Exit For End If Next j Next i End If .[A1].CurrentRegion.Offset(1, 0).ClearContents .[A2].Resize(l, UBound(sDat, 1)).Value = WorksheetFunction.Transpose(sDat) End With End Sub
Partager