Merci.
Je ne comprends pas. Je copie colle dans le fichier à alléger ma liste de produit (avec 36 colonnes). Je clique sur Alléger.
J'ai l'erreur :
Erreur d'exectution '13':
Incompatibilité de type.
Si je clique sur debocage :
Option Explicit
Dim tablo, dico, tabloR(), c, i, j, k
Sub Alleger()
tablo = Range("A1:KQ" & Range("A" & Rows.Count).End(xlUp).Row)
Set dico = CreateObject("Scripting.Dictionary")
On Error GoTo ouvrirFichierRef
With Workbooks("Ref à conserver.xlsx").Sheets("Feuil1")
On Error GoTo 0
For Each c In .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row)
dico(c.Value) = ""
Next c
End With
k = 0
For i = 1 To UBound(tablo, 1)
If dico.exists(tablo(i, 1)) Then
ReDim Preserve tabloR(UBound(tablo, 2), k + 1)
For j = 1 To UBound(tablo, 2)
tabloR(j - 1, k) = tablo(i, j)
Next j
k = k + 1
End If
Next i
Range("A1").CurrentRegion.Offset(1, 0).ClearContents
Range("A2").Resize(UBound(tabloR, 2), UBound(tablo, 2)) = Application.Transpose(tabloR)
Exit Sub
ouvrirFichierRef:
MsgBox "Le fichier ''Ref à conserver.xlsx'' doit être ouvert.", 16
End
End Sub
EDIT: je précise que Le fichier ''Ref à conserver.xlsx'' est ouvert.
EDIT2: j'ai renommé ton fichier "Fichier à alléger v2" par "Fichier à alléger".
J'ai fait la même manipulation et j'ai le code suivant suite à mon clique sur débocage:
Sub Alleger()
tablo = Range("A1:KQ" & Range("A" & Rows.Count).End(xlUp).Row)
Set dico = CreateObject("Scripting.Dictionary")
On Error GoTo ouvrirFichierRef
With Workbooks("Ref à conserver.xlsx").Sheets("Feuil1")
On Error GoTo 0
For Each c In .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row)
dico(c.Value) = ""
Next c
End With
k = 0
For i = 1 To UBound(tablo, 1)
If dico.exists(tablo(i, 1)) Then
ReDim Preserve tabloR(UBound(tablo, 2), k + 1)
For j = 1 To UBound(tablo, 2)
tabloR(j - 1, k) = tablo(i, j)
Next j
k = k + 1
End If
Next i
Range("A1").CurrentRegion.Offset(1, 0).ClearContents
Range("A2").Resize(UBound(tabloR, 2), UBound(tablo, 2)) = Application.Transpose(tabloR)
Exit Sub
ouvrirFichierRef:
MsgBox "Le fichier ''Ref à conserver.xlsx'' doit être ouvert.", 16
End
End Sub
EDIT 3: Sinon, ce qu'il me reste du côté "graphique" dans "Fichier à alléger" c'est toutes les colonnes (de toutes les lignes) à partir de la colonne L. Sinon, toutes les lignes & colonnes ont été supprimées/vidées de la colonne A à la colonne K. Je précise que dans les cellules que j'ai copiées/collées ou il y a tous mes produits, les colonnes J & K sont vides d'origine.