cp4
XLDnaute Barbatruc
Bonjour,
Le code ci-dessous n'est pas de moi. Je l'ai trouvé sur le net. Mais m’intéresse et voudrais m'en inspirer pour l'adapter à mon besoin.
Cependant, ce code plante sur la ligne qui permet de sélectionner la feuille. En effet, le nom des feuilles est en colonne AD récupérer via un dictionnaire et transmis au tableau Tablo. Je suis bloqué merci pour votre aide.
Le code ci-dessous n'est pas de moi. Je l'ai trouvé sur le net. Mais m’intéresse et voudrais m'en inspirer pour l'adapter à mon besoin.
VB:
Option Explicit
Sub Transfert()
Dim Lg As Long, I As Integer, Cel As Range, MonDico As Object, Tablo(), nb As Integer
nb = 3
Application.ScreenUpdating = False
Set MonDico = CreateObject("Scripting.Dictionary")
With Sheets("Base")
Lg = .Range("ad" & Rows.Count).End(xlUp).Row
For Each Cel In .Range("ad6:ad" & Lg)
If Cel <> "" Then MonDico(Cel.Value) = Cel.Value
Next Cel
Tablo = MonDico.items
For I = 0 To UBound(Tablo)
.Range("a5:ad" & Lg).AutoFilter Field:=30, Criteria1:=Tablo(I), VisibleDropDown:=False
On Error Resume Next
Sheets(Tablo(I)).Select '***PLANTE ICI
If Err.Number > 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = Tablo(I)
End If
On Error GoTo 0
.Range("a5:ad" & Lg).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets(nb).Range("A3") 'Sheets(Tablo(I)).Range("A3")
nb = nb + 1
Next I
.AutoFilterMode = False
.Select
End With
End Sub