Renommer une feuille

J

Jonquille

Guest
Je cherche à faire une macro qui puisse renommer une feuille.
J'ai insérer ceci dans ma macro:
" Range("D5:E5").Select
Selection.Copy
Sheets("Report (2)").Select
Sheets("Report (2)").Name = ActiveCell.Value
"
Mais lors de lancement de la macro, elle reste bloqué sur la dernière ligne (me signale une erreur)????
Pourquoi ce que j'ai écrit est faux, et comment résoudre cette erreur?

Merci d'avance.
 
M

Moa

Guest
Salut jonquille !

Il y a un problème dans ta macro :

Tu sélectionnes les cellules D5 et E5, tu fais un copier, puis tu le colles nul part....! quel intérêt...?

En plus tu laisses un espace inutile à "Report (2)", au lieu de Report(2).

Tu ne peux pas donner un nom pris dans deux cellules, ou alors tu dois concaténer d'abord.

Voilà ta macro modifiée :

Sub ActviceCell()
Sheets("Report(2)").Select
Sheets("Report(2)").Name = [D5]
End Sub

@ +

Moa
 
M

Moa

Guest
Re Jonquille !

En fait, si tu dois renommer souvent ta feuille Report(2), et que par conséquent, elle ne s'appelle plus forcément Report(2), il veut mieux écrire ta macro comme suit :

Sub ActviceCell()
Sheets(2).Select
Sheets(2).Name = [D5]
End Sub

En effet, le (2) est le nom "Objet", qu'a ta feuille dans l'éditeur Vba.

Donc en faisant comme cela, la macro, ne tiendra pas compte du nom de l'onglet que tu auras donné, mais de la feuille(2).

Mais attention, pour moi c'est la feuille(2), mais cela peut-être la feuille(3) ou 50.

Car dans la première macro, ta feuille une fois renommée, provoquera une erreur, puisque la macro, cherchera l'ancien nom.

Alors que dans le deuxième cas, la macro renommera toujours la feuille 2

Ok ?

@ +

Moa
 
J

Jonquille

Guest
J'ai tapé cette macro:

Sub ActviceCell()
Sheets(3).Select
Sheets(3).Name = [D5]
End Sub

Mais lorsque je la lance, j'ai un nouveaumessage d'erreur:*

'Erreur d'exécution '1004'
Erreur définie par l'application ou par l'objet

Est-ce lié à la macro?

Merci
 
V

Vériland

Guest
Bonsoir Jonquille et le forum

oui...met ceci à la place...

Sub ActviceCell()
Sheets(3).Name = Range("D5").Value
End Sub

A+Veriland.gif
 
P

pascal

Guest
Sub Bouton2_QuandClic()
'enregistre()
Dim an As String
numero = Range("a1")
'definir le nom d'une plage sous nom
nom = Range("b2")
'definir le nom d'une plage sous numero
ChDrive "c"

'definir l'endroit pour mettre le fichier
ChDir "C:\Mes documents"
ActiveWorkbook.SaveAs Filename:=(numero) & " " & (nom)

'avec la suite tu peux enregistrer ailleurs par exemple sur un serveur
'active la boite de dialogue enregistre sous
'Application.Dialogs(xlDialogSaveAs).Show
End sub
 

Discussions similaires

Statistiques des forums

Discussions
314 662
Messages
2 111 638
Membres
111 242
dernier inscrit
Oyam