J'ai un soucis avec cette macro. Elle marche parfaitement jusqu'=E0 la
178=E8me copie. Ensuite, il copie mais sur le dernier cr=E9e et il copie
le dernier normalement.
Sub CreationOnglet()
' Cr=E9ation des onglets selon la feuille Modele
For Each c In Range([b2], [b65000].End(xlUp))
On Error Resume Next
temp =3D Sheets(c.Value).Range("b2").Value
If Err > 0 Then
Sheets("Modele").Copy After:=3DSheets(Sheets.Count)
ActiveSheet.Name =3D c
ActiveSheet.Hyperlinks.Add Anchor:=3Dc, Address:=3D"", _
SubAddress:=3D"'" & c & "'" & "!b2", TextToDisplay:=3Dc.Value
End If
Next
Feuil1.Visible =3D True
Feuil1.Select
End Sub
Voilà qui est étonnant. Quelle formule n'est pas copiée?
Sinon ta procédure va extremement vite. Comment as tu fait ??
J'ai simplement remplacé Sheets("Modele").Copy After:=Sheets(Sheets.Count) par Set shtoto = Sheets.Add(After:=Sheets(Sheets.Count)) C'est peut-être ce qui augmente la rapidité d'exécution. Je ne sais pas. Il faudrait demander aux gurus.
Elle pourrait être encore plus rapide en mettant au début de la procédure, la commande Application.ScreenUpdating = False
"Calou" wrote in message news:Oc%
Bonjour, Ta procédure va à son terme mais le soucis c'est qu'il copie la feuille modèle mais sans certaine formule. Sinon ta procédure va extremement vite. Comment as tu fait ??
Cette procédure tourne mais à la vitesse d'une escargot (environ 250 matricule et noms à ecrire dans un tableau).
Qu'en penses tu ?
Bonne journée
Philippe "Mishell" a écrit dans le message de news: e$
Est-ce que ca fonctionne avec ce code? Sub CreationOnglet() For Each c In Range([b2], [b65000].End(xlUp)) On Error Resume Next temp = Sheets(c.Value).Range("b2").Value If Err > 0 Then Err.Clear On Error GoTo 0 ' Sheets("Modele").Copy After:=Sheets(Sheets.Count) Dim shtoto As Worksheet
Set shtoto = Sheets.Add(After:=Sheets(Sheets.Count))
End If Next Feuil1.Visible = True Feuil1.Select End Sub
Mishell
"philou36" wrote in message news: Bonjour à tous !
J'ai un soucis avec cette macro. Elle marche parfaitement jusqu'à la 178ème copie. Ensuite, il copie mais sur le dernier crée et il copie le dernier normalement.
Sub CreationOnglet() ' Création des onglets selon la feuille Modele For Each c In Range([b2], [b65000].End(xlUp)) On Error Resume Next temp = Sheets(c.Value).Range("b2").Value If Err > 0 Then Sheets("Modele").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = c ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _ SubAddress:="'" & c & "'" & "!b2", TextToDisplay:=c.Value End If Next Feuil1.Visible = True Feuil1.Select End Sub
Qu'en pensez vous ?
Merci pour vos précieux conseils !
Bonne journée.
Philippe
Voilà qui est étonnant.
Quelle formule n'est pas copiée?
Sinon ta procédure va extremement vite. Comment as tu fait ??
J'ai simplement remplacé
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
par
Set shtoto = Sheets.Add(After:=Sheets(Sheets.Count))
C'est peut-être ce qui augmente la rapidité d'exécution. Je ne sais pas. Il
faudrait demander aux gurus.
Elle pourrait être encore plus rapide en mettant au début de la procédure,
la commande
Application.ScreenUpdating = False
"Calou" <ws@trol.com> wrote in message
news:Oc%23JCCTzJHA.4272@TK2MSFTNGP06.phx.gbl...
Bonjour,
Ta procédure va à son terme mais le soucis c'est qu'il copie la feuille
modèle mais sans certaine formule. Sinon ta procédure va extremement vite.
Comment as tu fait ??
Cette procédure tourne mais à la vitesse d'une escargot (environ 250
matricule et noms à ecrire dans un tableau).
Qu'en penses tu ?
Bonne journée
Philippe
"Mishell" <MishellNospam@Nospam.com> a écrit dans le message de news:
e$fWhaKzJHA.3848@TK2MSFTNGP03.phx.gbl...
Est-ce que ca fonctionne avec ce code?
Sub CreationOnglet()
For Each c In Range([b2], [b65000].End(xlUp))
On Error Resume Next
temp = Sheets(c.Value).Range("b2").Value
If Err > 0 Then
Err.Clear
On Error GoTo 0
' Sheets("Modele").Copy After:=Sheets(Sheets.Count)
Dim shtoto As Worksheet
Set shtoto = Sheets.Add(After:=Sheets(Sheets.Count))
End If
Next
Feuil1.Visible = True
Feuil1.Select
End Sub
Mishell
"philou36" <philippe.blanchard.36@gmail.com> wrote in message
news:c6068c57-3f74-40ec-80eb-b1a951a9320a@s20g2000vbp.googlegroups.com...
Bonjour à tous !
J'ai un soucis avec cette macro. Elle marche parfaitement jusqu'à la
178ème copie. Ensuite, il copie mais sur le dernier crée et il copie
le dernier normalement.
Sub CreationOnglet()
' Création des onglets selon la feuille Modele
For Each c In Range([b2], [b65000].End(xlUp))
On Error Resume Next
temp = Sheets(c.Value).Range("b2").Value
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!b2", TextToDisplay:=c.Value
End If
Next
Feuil1.Visible = True
Feuil1.Select
End Sub
Voilà qui est étonnant. Quelle formule n'est pas copiée?
Sinon ta procédure va extremement vite. Comment as tu fait ??
J'ai simplement remplacé Sheets("Modele").Copy After:=Sheets(Sheets.Count) par Set shtoto = Sheets.Add(After:=Sheets(Sheets.Count)) C'est peut-être ce qui augmente la rapidité d'exécution. Je ne sais pas. Il faudrait demander aux gurus.
Elle pourrait être encore plus rapide en mettant au début de la procédure, la commande Application.ScreenUpdating = False
"Calou" wrote in message news:Oc%
Bonjour, Ta procédure va à son terme mais le soucis c'est qu'il copie la feuille modèle mais sans certaine formule. Sinon ta procédure va extremement vite. Comment as tu fait ??
Cette procédure tourne mais à la vitesse d'une escargot (environ 250 matricule et noms à ecrire dans un tableau).
Qu'en penses tu ?
Bonne journée
Philippe "Mishell" a écrit dans le message de news: e$
Est-ce que ca fonctionne avec ce code? Sub CreationOnglet() For Each c In Range([b2], [b65000].End(xlUp)) On Error Resume Next temp = Sheets(c.Value).Range("b2").Value If Err > 0 Then Err.Clear On Error GoTo 0 ' Sheets("Modele").Copy After:=Sheets(Sheets.Count) Dim shtoto As Worksheet
Set shtoto = Sheets.Add(After:=Sheets(Sheets.Count))
End If Next Feuil1.Visible = True Feuil1.Select End Sub
Mishell
"philou36" wrote in message news: Bonjour à tous !
J'ai un soucis avec cette macro. Elle marche parfaitement jusqu'à la 178ème copie. Ensuite, il copie mais sur le dernier crée et il copie le dernier normalement.
Sub CreationOnglet() ' Création des onglets selon la feuille Modele For Each c In Range([b2], [b65000].End(xlUp)) On Error Resume Next temp = Sheets(c.Value).Range("b2").Value If Err > 0 Then Sheets("Modele").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = c ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _ SubAddress:="'" & c & "'" & "!b2", TextToDisplay:=c.Value End If Next Feuil1.Visible = True Feuil1.Select End Sub