> Tous les forumsBureautique

 la macro qui designe une cellule pour excelSujet résolu
Statut du sujet : RESOLU Imprimer
 mingus98
  Posté le 12/08/2008 @ 18:34  
 Petit astucien


62 Messages

Bonjour les artistes,
Voila ce que je recherche, je fais une petite macro travaillant sur deux classeurs.
Je voudrais renommer une desfeuilles (pas le classeur) automatiquement en lui donnant soit la date du jour, ou soit en lui faisant copier ce qui est ecrit dans une cellule...
Mais je n arrive pas a trouver la commande dans la macro...pour lui dire "va a telle cellule...copie en le contenu et colle le comme nom pour la feuille...hmmmm
Quelqu un arriverait il a me depanner ?
Amicalement

 Afficher le profil de mingus98Envoyer un message privé à mingus98
 
 
Publicité
 sourisdeservice  Posté le 12/08/2008 à 19:38  
  Maîtresse astucienne


19671 Messages

Bonjour,

Pourquoi ne pas utiliser l'enregistreur de Macro ?

Afficher le profil de sourisdeservice Voir la configuration de sourisdeserviceEnvoyer un message privé à sourisdeservice
 Revenir en haut de la page
 mingus98  Posté le 13/08/2008 à 02:36  
Petit astucien


62 Messages

Bahhh je ne suis pas tres bon...je sais, mais comment je fais ?

Ce que je veux faire c est (par exemple avoir en cellule A1 un titre (ex:la date et l heure) aujourd hui()...

et quand je lance la macro, il insere une nouvelle feuille et renomme cette feuille avec le contenu que j ai en cellule a1

J ai essayé comme je le pouvais avec l enregistreur de macro, seulement apres dans Vba je lis que il renomme ma feuille en ecrivant mardi 12 aout...et non en indiquant la cellule a1!! Alors que moi j ai l intention que la cellule A1 varie ..

Donc, ça ne marche pas bien avec l enregistreur...

heuuu ai je été clair dans mes soucis ?

pareil, je voudrais faire un enregistement pour mon fichier et qu il lui donne le nom situé a une certaine cellule

Qui va m aider ?

Afficher le profil de mingus98Envoyer un message privé à mingus98
 Revenir en haut de la page
 vieuxmonsieur  Posté le 13/08/2008 à 03:18  
Petit astucien

442 Messages

bonjour mingus08, sourisdeservice, le forum,

peut-être ceci :

Sub NomFeuille()
On Error GoTo erreur
ActiveSheet.Name = Range("A1")
Exit Sub
erreur:
MsgBox "La cellule [ A1 ] ne doit pas être vide où contenir des caractères interdits."
End Sub

en te souhaitant une bonne journée

Afficher le profil de vieuxmonsieur Voir la configuration de vieuxmonsieurEnvoyer un message privé à vieuxmonsieur
 Revenir en haut de la page
 mingus98  Posté le 13/08/2008 à 13:56  
Petit astucien


62 Messages

La vache...que c est quand même compliqué !..

Mais en recopiant doucement la formule, ça s adapte et ça marche même...iouffff, je vais avancer doucement

Je ne vais pas aller te demander toujours les memes conseils pour les memes plans...mais juste pour voir

1> j ai reussis grace a ton aide a attribuer une cellule qui renomme automatiquement une feuille

Si je veux maintenant sauvegarder le nom de ma feuille en lui donnant le nom d une cellule...quelle est la formule ?

(ouiii je sais...c est facile pour toa...mais moi....gloupssss,

Merci beaucoup des aides donnés ici

Afficher le profil de mingus98Envoyer un message privé à mingus98
 Revenir en haut de la page
 sourisdeservice  Posté le 13/08/2008 à 14:06  
  Maîtresse astucienne


19671 Messages

Bonjour,
Je ne sais si c'est à moi ou à vieuxmonsieur que tu t'adresses, mais pour ta dernière question, je pense que galopin01 (je crois) a déjà donné la macro.

Faire une recherche sur PCAstuces (à moins que ce derniers passe par ici un de ces jours)

Afficher le profil de sourisdeservice Voir la configuration de sourisdeserviceEnvoyer un message privé à sourisdeservice
 Revenir en haut de la page
 mingus98  Posté le 13/08/2008 à 14:20  
Petit astucien


62 Messages

Rhhaa que nonn, j ai pas vu Galopin, la derniere formule qui fonctionne qui m a été donnée était ce matin par vieux monsieur...

je redonne sa formule

Sub NomFeuille()
On Error GoTo erreur
ActiveSheet.Name = Range("A1")
Exit Sub
erreur:
MsgBox "La cellule [ A1 ] ne doit pas être vide où contenir des caractères interdits."
End Sub

Et maintenant je recherche la meme formule mais pour sauver un document et que le nom soit celui d une cellule attribuée.

Mais vous êtes tous Supers en tous cas pour aider

Afficher le profil de mingus98Envoyer un message privé à mingus98
 Revenir en haut de la page
 Bérylion  Posté le 13/08/2008 à 16:39  
Astucien


2289 Messages

Salut

à la volée paske pas excel sur ce poste :

sub test()

On Error GoTo erreur
activeworkbook.saveas filename:= range("a1")
Exit Sub
erreur:
MsgBox "La cellule [ A1 ] ne doit pas être vide où contenir des caractères interdits."
End Sub

enjoy...

Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 fth  Posté le 14/08/2008 à 10:03  
Petit astucien


504 Messages

Bonjour tlm,

Si tu mets dans ta cellule la fonction =Aujourdhui() cela va te donner le résultat 14/08/2008 --> ce qui va faire gueuler Excel lorsque tu voudras utiliser cette date pour renommer ta feuille vu que le caractère / ne sera pas accepté.

A mon humble avis, il n'est pas vraiment nécessaire de passer par une cellule ni d'utiliser une gestion d'horreur

Sub test()
Worksheets.Add after:=Sheets(Sheets.Count) '<-- ajout d'une feuille et placement en dernière position
Sheets(Sheets.Count).Name = Format(Now, "dd-mm-yyyy hh.mm.ss") '<-- renommer cette nouvelle feuille
End Sub

Dans l'exemple ci-dessus j'ai ajouté les secondes dans le nom de la feuille afin d'éviter le bug en cas de création de plusieurs feuilles dans la même minute mais on pourrait très bien utiliser autre chose que les secondes pour les différencier, par exemple un n°

Sub test()
Worksheets.Add after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Sheets.Count & " - " & Format(Now, "dd-mm-yyyy hh.mm")
End Sub

Afficher le profil de fthEnvoyer un message privé à fth
 Revenir en haut de la page
 mingus98  Posté le 14/08/2008 à 21:37  
Petit astucien


62 Messages

Moi je dis simplement ouahhhoouuu trop fort !!

Moi qui suis gros nul la dedans, je trouve ça assez geant,

Le top surtout de pouvoir aller inserer une nouvelle feuille a la fin !

C est ce que je voulais

Deux petites questions (sans vouloir abuser)

Tu as la meme astuce pour enregistrer le classeur ? ( en lui indiquant le nom d une cellule ?)

et autre question, y aurait il un link ou quelque chose ou je pourrais apprendre et connaitre les differentes definitions ?

Genre pour expliquer tout sur les differentes variables de Sheets ? pourquoi des fois y a des Sheets (2) ou (3) et connaitre differentes fonctions et codes ?

Merci pour tout !

Afficher le profil de mingus98Envoyer un message privé à mingus98
 Revenir en haut de la page
 fth  Posté le 20/08/2008 à 18:59  
Petit astucien


504 Messages
mingus98 a écrit :

Tu as la meme astuce pour enregistrer le classeur ? ( en lui indiquant le nom d une cellule ?

Cela devrait ressembler à un truc du genre

Sub test_enregistrement()
Dim Chemin As String, NomFich As String

Chemin = "C:\MonRepertoirePrefere\MonSousRepertoireQuiVaBien\"

'si le nom dans la cellule A1 = MonFichier
NomFich = Range("A1") & ".xls"
'si le nom dans la cellule A1 = MonFichier.xls
'NomFich = Range("A1")

ThisWorkbook.SaveAs Chemin & NomFich '<-- sauvegarde du classeur
'ThisWorkbook.Close '<-- pour fermer le classeur après l'avoir sauvegardé

End Sub

et autre question, y aurait il un link ou quelque chose ou je pourrais apprendre et connaitre les differentes definitions ?

Genre pour expliquer tout sur les differentes variables de Sheets ? pourquoi des fois y a des Sheets (2) ou (3) et connaitre differentes fonctions et codes ?

oula...il doit y en avoir des dizaines mais je ne serais pas capable de te conseiller celui là plutôt qu'un autre

Concernant les Sheets (feuilles) par exemple, il y a 3 manières d'y faire référence

  1. par son nom : Sheets("Toto") --> feuille s'appelant "Toto"
  2. par sa position (de gauche à droite) : Sheets(2) --> 2éme feuille ou Sheets(Sheets.Count) --> dernière feuille peu importe le nombre
  3. par son nom de code (CodeName) : Feuil2 --> nom de code que tu trouves dans la colonne de gauche de ton éditeur Visual Basic : Feuil2(Toto)

Eventuellement, tu peux télécharger ce tuto --> Support de cours complet pour le VBA d'Excel

Afficher le profil de fthEnvoyer un message privé à fth
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte




Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsBureautique

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page