Si Tom Bilibi avait deux amours, moi j'ai deux soucis
Et comme on nous demande de ne pas poser deux questions dans le même message
(N'est-ce pas Misange?)
Voici la première
Je voudrais que, par macro, nommer la feuille du nom d'une cellule
voici ce que j'ai et cela bloque
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
Sheets(sht.Name).Name = Sheets(sht.Name).[J2]
Next
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Et pourtant il fut un temps ou cela fonctionnait
Et voici le code qui l'entoure, au cas ou le problème est ailleur
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Chez moi ces quelques lignes fonctionnent Tu as peut être un souci avec tes valeurs des cellules I2 de tes onglets Regardes de ce côté
Tiens moi informé !!!
rthompson
Bonjour FFO
Merci pour ta réponse
Et en effet je crois que c'est là que cela se passe Je me suis dis, Rex vas manger relaxe et quand tu reviendras tu comprendras
Ben non!
Cela ne va pas mieuxVoici un bout du code que j'utilise Quand ceci roule il me demande si je veux sauver le fichier Book1 Donc il ne reconnait pas la ligne ActiveWorkbook save as ......... tel quel est, je devrais trouver l'astuce pour que la partie
Mais si je supprime les lignes entre les deux lignes de ccccccccccccccccccccccc Alors il roule sans accros et sauve sous le contenu de la cellule M6 mais ne change pas le nom de la feuille
Donc, a mon avis je doit adapter la partie Sheets("PO (2)").Range("J2") Pour que le PO (2) soit changé en "Valeur de la cellule M6" Ou sauber une fois avant de changer ce nom Puis le sauver après
Mon Dieu, plus je me relis et moins je crois que c'est clair
Enfin si tu as le temps et que tu y comprends quelque chose
Un tout grand merci à toi
Rex
Range("J2").Select Selection.Copy ActiveWindow.SmallScroll ToRight:=3 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False Range("J10").Select 'ccccccccccccccccccccc On Error Resume Next For Each sht In ActiveWorkbook.Worksheets Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next 'ccccccccccccccccccccc Sheets("Sheet1").Select ActiveWindow.SelectedSheets.Delete Sheets("Sheet2").Select ActiveWindow.SelectedSheets.Delete Sheets("Sheet3").Select ActiveWindow.SelectedSheets.Delete Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:="C:AA-Rex DataPaperviewgabors files for macrosPOPOs Created" & Sheets("PO (2)").Range("J2") & ".xls", FileFormat:=xlNormal ActiveWindow.Close ActiveWindow.WindowState = xlMaximized
"FFO" a écrit dans le message de news:
Salut à toi
Chez moi ces quelques lignes fonctionnent Tu as peut être un souci avec tes valeurs des cellules I2 de tes onglets Regardes de ce côté
Tiens moi informé !!!
Bonjour FFO
Merci pour ta réponse
Et en effet je crois que c'est là que cela se passe
Je me suis dis, Rex vas manger relaxe et quand tu reviendras tu comprendras
Ben non!
Cela ne va pas mieuxVoici un bout du code que j'utilise
Quand ceci roule il me demande si je veux sauver le fichier Book1
Donc il ne reconnait pas la ligne ActiveWorkbook save as .........
tel quel est, je devrais trouver l'astuce pour que la partie
Mais si je supprime les lignes entre les deux lignes de
ccccccccccccccccccccccc
Alors il roule sans accros et sauve sous le contenu de la cellule M6
mais ne change pas le nom de la feuille
Donc, a mon avis je doit adapter la partie
Sheets("PO (2)").Range("J2")
Pour que le PO (2) soit changé en "Valeur de la cellule M6"
Ou sauber une fois avant de changer ce nom
Puis le sauver après
Mon Dieu, plus je me relis et moins je crois que c'est clair
Enfin si tu as le temps et que tu y comprends quelque chose
Un tout grand merci à toi
Rex
Range("J2").Select
Selection.Copy
ActiveWindow.SmallScroll ToRight:=3
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Range("J10").Select
'ccccccccccccccccccccc
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
Sheets(sht.Name).Name = Sheets(sht.Name).[M6]
Next
'ccccccccccccccccccccc
Sheets("Sheet1").Select
ActiveWindow.SelectedSheets.Delete
Sheets("Sheet2").Select
ActiveWindow.SelectedSheets.Delete
Sheets("Sheet3").Select
ActiveWindow.SelectedSheets.Delete
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:AA-Rex DataPaperviewgabors files
for macrosPOPOs Created" & Sheets("PO (2)").Range("J2") & ".xls",
FileFormat:=xlNormal
ActiveWindow.Close
ActiveWindow.WindowState = xlMaximized
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
17CBD43A-642E-4A79-8076-0D5E56D4CE31@microsoft.com...
Salut à toi
Chez moi ces quelques lignes fonctionnent
Tu as peut être un souci avec tes valeurs des cellules I2 de tes onglets
Regardes de ce côté
Et en effet je crois que c'est là que cela se passe Je me suis dis, Rex vas manger relaxe et quand tu reviendras tu comprendras
Ben non!
Cela ne va pas mieuxVoici un bout du code que j'utilise Quand ceci roule il me demande si je veux sauver le fichier Book1 Donc il ne reconnait pas la ligne ActiveWorkbook save as ......... tel quel est, je devrais trouver l'astuce pour que la partie
Mais si je supprime les lignes entre les deux lignes de ccccccccccccccccccccccc Alors il roule sans accros et sauve sous le contenu de la cellule M6 mais ne change pas le nom de la feuille
Donc, a mon avis je doit adapter la partie Sheets("PO (2)").Range("J2") Pour que le PO (2) soit changé en "Valeur de la cellule M6" Ou sauber une fois avant de changer ce nom Puis le sauver après
Mon Dieu, plus je me relis et moins je crois que c'est clair
Enfin si tu as le temps et que tu y comprends quelque chose
Un tout grand merci à toi
Rex
Range("J2").Select Selection.Copy ActiveWindow.SmallScroll ToRight:=3 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False Range("J10").Select 'ccccccccccccccccccccc On Error Resume Next For Each sht In ActiveWorkbook.Worksheets Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next 'ccccccccccccccccccccc Sheets("Sheet1").Select ActiveWindow.SelectedSheets.Delete Sheets("Sheet2").Select ActiveWindow.SelectedSheets.Delete Sheets("Sheet3").Select ActiveWindow.SelectedSheets.Delete Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:="C:AA-Rex DataPaperviewgabors files for macrosPOPOs Created" & Sheets("PO (2)").Range("J2") & ".xls", FileFormat:=xlNormal ActiveWindow.Close ActiveWindow.WindowState = xlMaximized
"FFO" a écrit dans le message de news:
Salut à toi
Chez moi ces quelques lignes fonctionnent Tu as peut être un souci avec tes valeurs des cellules I2 de tes onglets Regardes de ce côté
Tiens moi informé !!!
FFO
Rebonjour à toi
Moi personnellement je n'utilise pas cette procédure pour changer le nom des Onglets mais plutôt celli-ci :
For i = 1 to Sheets.Count Sheets(i).Name = Sheets(i).Range("J2") Next
Tel que je comprends ta difficulté c'est d'aller chercher le nom de ton fichier se trouvant dans l'Onglet "PO (2)" cellule M6 qui dans la boucle :
For Each sht In ActiveWorkbook.Worksheets Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
est renommé
Effectivement il est impératif de faire appel au Nom en vigueur de cette Onglet au moment de l'instruction de sauvegard pour la faire fonctionner donc pas d'autre choix que de le récupérer au moment de son renomage Je te propose à cette fin ces modifications :
Pour la boucle d'affectation des noms :
For Each sht In ActiveWorkbook.Worksheets If Sheets(sht.Name).Name = "PO (2)" Then Onglet = Sheets(sht.Name).[M6] End If Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
Tu peux aussi récupérer dans la boucle de renomage des Onglets directement le nom du fichier porter par la cellule J2 de la feuille "PO (2)" ainsi :
For Each sht In ActiveWorkbook.Worksheets If Sheets(sht.Name).Name = "PO (2)" Then Fichier = Sheets(sht.Name).[J2] End If Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
Moi personnellement je n'utilise pas cette procédure pour changer le nom des
Onglets mais plutôt celli-ci :
For i = 1 to Sheets.Count
Sheets(i).Name = Sheets(i).Range("J2")
Next
Tel que je comprends ta difficulté c'est d'aller chercher le nom de ton
fichier se trouvant dans l'Onglet "PO (2)" cellule M6 qui dans la boucle :
For Each sht In ActiveWorkbook.Worksheets
Sheets(sht.Name).Name = Sheets(sht.Name).[M6]
Next
est renommé
Effectivement il est impératif de faire appel au Nom en vigueur de cette
Onglet au moment de l'instruction de sauvegard pour la faire fonctionner donc
pas d'autre choix que de le récupérer au moment de son renomage
Je te propose à cette fin ces modifications :
Pour la boucle d'affectation des noms :
For Each sht In ActiveWorkbook.Worksheets
If Sheets(sht.Name).Name = "PO (2)" Then
Onglet = Sheets(sht.Name).[M6]
End If
Sheets(sht.Name).Name = Sheets(sht.Name).[M6]
Next
Tu peux aussi récupérer dans la boucle de renomage des Onglets directement
le nom du fichier porter par la cellule J2 de la feuille "PO (2)" ainsi :
For Each sht In ActiveWorkbook.Worksheets
If Sheets(sht.Name).Name = "PO (2)" Then
Fichier = Sheets(sht.Name).[J2]
End If
Sheets(sht.Name).Name = Sheets(sht.Name).[M6]
Next
Moi personnellement je n'utilise pas cette procédure pour changer le nom des Onglets mais plutôt celli-ci :
For i = 1 to Sheets.Count Sheets(i).Name = Sheets(i).Range("J2") Next
Tel que je comprends ta difficulté c'est d'aller chercher le nom de ton fichier se trouvant dans l'Onglet "PO (2)" cellule M6 qui dans la boucle :
For Each sht In ActiveWorkbook.Worksheets Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
est renommé
Effectivement il est impératif de faire appel au Nom en vigueur de cette Onglet au moment de l'instruction de sauvegard pour la faire fonctionner donc pas d'autre choix que de le récupérer au moment de son renomage Je te propose à cette fin ces modifications :
Pour la boucle d'affectation des noms :
For Each sht In ActiveWorkbook.Worksheets If Sheets(sht.Name).Name = "PO (2)" Then Onglet = Sheets(sht.Name).[M6] End If Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
Tu peux aussi récupérer dans la boucle de renomage des Onglets directement le nom du fichier porter par la cellule J2 de la feuille "PO (2)" ainsi :
For Each sht In ActiveWorkbook.Worksheets If Sheets(sht.Name).Name = "PO (2)" Then Fichier = Sheets(sht.Name).[J2] End If Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
Mais on viens de me bombarder avec une demande supplèmentaire Je vais envoyer une nouvelle question Si cela te tente
Mais quoiqu'il en soit Un grand merci à toi
Rex
"FFO" a écrit dans le message de news:
Rebonjour à toi
Moi personnellement je n'utilise pas cette procédure pour changer le nom des Onglets mais plutôt celli-ci :
For i = 1 to Sheets.Count Sheets(i).Name = Sheets(i).Range("J2") Next
Tel que je comprends ta difficulté c'est d'aller chercher le nom de ton fichier se trouvant dans l'Onglet "PO (2)" cellule M6 qui dans la boucle :
For Each sht In ActiveWorkbook.Worksheets Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
est renommé
Effectivement il est impératif de faire appel au Nom en vigueur de cette Onglet au moment de l'instruction de sauvegard pour la faire fonctionner donc pas d'autre choix que de le récupérer au moment de son renomage Je te propose à cette fin ces modifications :
Pour la boucle d'affectation des noms :
For Each sht In ActiveWorkbook.Worksheets If Sheets(sht.Name).Name = "PO (2)" Then Onglet = Sheets(sht.Name).[M6] End If Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
Tu peux aussi récupérer dans la boucle de renomage des Onglets directement le nom du fichier porter par la cellule J2 de la feuille "PO (2)" ainsi :
For Each sht In ActiveWorkbook.Worksheets If Sheets(sht.Name).Name = "PO (2)" Then Fichier = Sheets(sht.Name).[J2] End If Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
Mais on viens de me bombarder avec une demande supplèmentaire
Je vais envoyer une nouvelle question
Si cela te tente
Mais quoiqu'il en soit
Un grand merci à toi
Rex
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
B52EFF4F-BEC5-4558-9752-551EF27E4A6E@microsoft.com...
Rebonjour à toi
Moi personnellement je n'utilise pas cette procédure pour changer le nom
des
Onglets mais plutôt celli-ci :
For i = 1 to Sheets.Count
Sheets(i).Name = Sheets(i).Range("J2")
Next
Tel que je comprends ta difficulté c'est d'aller chercher le nom de ton
fichier se trouvant dans l'Onglet "PO (2)" cellule M6 qui dans la boucle :
For Each sht In ActiveWorkbook.Worksheets
Sheets(sht.Name).Name = Sheets(sht.Name).[M6]
Next
est renommé
Effectivement il est impératif de faire appel au Nom en vigueur de cette
Onglet au moment de l'instruction de sauvegard pour la faire fonctionner
donc
pas d'autre choix que de le récupérer au moment de son renomage
Je te propose à cette fin ces modifications :
Pour la boucle d'affectation des noms :
For Each sht In ActiveWorkbook.Worksheets
If Sheets(sht.Name).Name = "PO (2)" Then
Onglet = Sheets(sht.Name).[M6]
End If
Sheets(sht.Name).Name = Sheets(sht.Name).[M6]
Next
Tu peux aussi récupérer dans la boucle de renomage des Onglets directement
le nom du fichier porter par la cellule J2 de la feuille "PO (2)" ainsi :
For Each sht In ActiveWorkbook.Worksheets
If Sheets(sht.Name).Name = "PO (2)" Then
Fichier = Sheets(sht.Name).[J2]
End If
Sheets(sht.Name).Name = Sheets(sht.Name).[M6]
Next
Mais on viens de me bombarder avec une demande supplèmentaire Je vais envoyer une nouvelle question Si cela te tente
Mais quoiqu'il en soit Un grand merci à toi
Rex
"FFO" a écrit dans le message de news:
Rebonjour à toi
Moi personnellement je n'utilise pas cette procédure pour changer le nom des Onglets mais plutôt celli-ci :
For i = 1 to Sheets.Count Sheets(i).Name = Sheets(i).Range("J2") Next
Tel que je comprends ta difficulté c'est d'aller chercher le nom de ton fichier se trouvant dans l'Onglet "PO (2)" cellule M6 qui dans la boucle :
For Each sht In ActiveWorkbook.Worksheets Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
est renommé
Effectivement il est impératif de faire appel au Nom en vigueur de cette Onglet au moment de l'instruction de sauvegard pour la faire fonctionner donc pas d'autre choix que de le récupérer au moment de son renomage Je te propose à cette fin ces modifications :
Pour la boucle d'affectation des noms :
For Each sht In ActiveWorkbook.Worksheets If Sheets(sht.Name).Name = "PO (2)" Then Onglet = Sheets(sht.Name).[M6] End If Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next
Tu peux aussi récupérer dans la boucle de renomage des Onglets directement le nom du fichier porter par la cellule J2 de la feuille "PO (2)" ainsi :
For Each sht In ActiveWorkbook.Worksheets If Sheets(sht.Name).Name = "PO (2)" Then Fichier = Sheets(sht.Name).[J2] End If Sheets(sht.Name).Name = Sheets(sht.Name).[M6] Next