dans une macro VBA (récupérée sur le forum ...;merci JB), le code fait
référence à la feuil1 du classeur et tout marche bien.
http://www.microsoft.com/france/communautes/webnews/France/default.mspx?dg=microsoft.public.fr.excel&tid=89135196-2f6a-4f62-aa8a-00c396412d55&cat=&lang=&cr=&sloc=fr-FR&p=1
En revanche, lorsque je change le nom de la feuille, j'ai une erreur 1004.
Comment écrire la macro pour faire référence à la feuille active ?
Sub CreeClasseurs() Application.DisplayAlerts = False f = ActiveSheet.Name Sdbl For Each c In Range("H2", Range("H65000").End(xlUp)) Range("H2") = c Sheets.Add Sheets(f).[A1:F10000].AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets(f).[H1:H2], CopyToRange:=[A1], Unique:úlse ActiveSheet.Copy ActiveWorkbook.SaveAs Filename:=c ActiveWorkbook.Close ActiveSheet.Delete Sheets(f).Select Next c End Sub
Sub Sdbl() Set MonDico = CreateObject("Scripting.Dictionary") For Each c In Range([d2], [d65000].End(xlUp)) temp = txt(c.Value) If Not MonDico.Exists(temp) Then MonDico.Add temp, temp Next c [H2].Resize(MonDico.Count, 1) = Application.Transpose(MonDico.items) End Sub
Function txt(x) For i = 1 To Len(x) If Mid(x, i, 1) >= "A" And Mid(x, i, 1) <= "Z" Then temp = temp & Mid(x, i, 1) End If Next i txt = temp End Function
On 23 fév, 09:09, "Orsu" wrote:
Bonjour,
dans une macro VBA (récupérée sur le forum ...;merci JB), le code fa it référence à la feuil1 du classeur et tout marche bien.http://www.mic rosoft.com/france/communautes/webnews/France/default.ms... En revanche, lorsque je change le nom de la feuille, j'ai une erreur 1004.
Comment écrire la macro pour faire référence à la feuille active ?
Merci d'avance
Bien cordialement
Bonjour,
http://cjoint.com/?cxjQqlhX7v
Sub CreeClasseurs()
Application.DisplayAlerts = False
f = ActiveSheet.Name
Sdbl
For Each c In Range("H2", Range("H65000").End(xlUp))
Range("H2") = c
Sheets.Add
Sheets(f).[A1:F10000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets(f).[H1:H2], CopyToRange:=[A1],
Unique:=False
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=c
ActiveWorkbook.Close
ActiveSheet.Delete
Sheets(f).Select
Next c
End Sub
Sub Sdbl()
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In Range([d2], [d65000].End(xlUp))
temp = txt(c.Value)
If Not MonDico.Exists(temp) Then MonDico.Add temp, temp
Next c
[H2].Resize(MonDico.Count, 1) = Application.Transpose(MonDico.items)
End Sub
Function txt(x)
For i = 1 To Len(x)
If Mid(x, i, 1) >= "A" And Mid(x, i, 1) <= "Z" Then
temp = temp & Mid(x, i, 1)
End If
Next i
txt = temp
End Function
On 23 fév, 09:09, "Orsu" <pierre.ferrand...@neuf.fr> wrote:
Bonjour,
dans une macro VBA (récupérée sur le forum ...;merci JB), le code fa it
référence à la feuil1 du classeur et tout marche bien.http://www.mic rosoft.com/france/communautes/webnews/France/default.ms...
En revanche, lorsque je change le nom de la feuille, j'ai une erreur 1004.
Comment écrire la macro pour faire référence à la feuille active ?
Sub CreeClasseurs() Application.DisplayAlerts = False f = ActiveSheet.Name Sdbl For Each c In Range("H2", Range("H65000").End(xlUp)) Range("H2") = c Sheets.Add Sheets(f).[A1:F10000].AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets(f).[H1:H2], CopyToRange:=[A1], Unique:úlse ActiveSheet.Copy ActiveWorkbook.SaveAs Filename:=c ActiveWorkbook.Close ActiveSheet.Delete Sheets(f).Select Next c End Sub
Sub Sdbl() Set MonDico = CreateObject("Scripting.Dictionary") For Each c In Range([d2], [d65000].End(xlUp)) temp = txt(c.Value) If Not MonDico.Exists(temp) Then MonDico.Add temp, temp Next c [H2].Resize(MonDico.Count, 1) = Application.Transpose(MonDico.items) End Sub
Function txt(x) For i = 1 To Len(x) If Mid(x, i, 1) >= "A" And Mid(x, i, 1) <= "Z" Then temp = temp & Mid(x, i, 1) End If Next i txt = temp End Function
On 23 fév, 09:09, "Orsu" wrote:
Bonjour,
dans une macro VBA (récupérée sur le forum ...;merci JB), le code fa it référence à la feuil1 du classeur et tout marche bien.http://www.mic rosoft.com/france/communautes/webnews/France/default.ms... En revanche, lorsque je change le nom de la feuille, j'ai une erreur 1004.
Comment écrire la macro pour faire référence à la feuille active ?