Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment sélectionner la feuille active ?

1 réponse
Avatar
Orsu
Bonjour,

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 ?

Merci d'avance

Bien cordialement

1 réponse

Avatar
JB
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:ú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