Excel -VBA -Variable et feuille (le retour...
Fermé
dks31
Messages postés
14
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
21 août 2018
-
24 nov. 2003 à 23:48
Urmarcht - 9 janv. 2004 à 10:27
Urmarcht - 9 janv. 2004 à 10:27
A voir également:
- Excel -VBA -Variable et feuille (le retour...
- Word et excel gratuit - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Si et excel - Guide
- Liste déroulante excel - Guide
- Retour à la ligne excel formule - Guide
5 réponses
G.David
Messages postés
769
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
17 janvier 2025
203
1 déc. 2003 à 08:10
1 déc. 2003 à 08:10
j'avais pose un problem sur excel-downloads il y a quelque temps (et ça fait un paquet de messages) je l'ai retrouvé je te copie tous les commentaires; en fin tu as la réponse que Ti m'a donnée si elle peut te servir.
Auteur: david (81.80.156.---)Date: 09-10-03 08:24Je voudrais renommer une feuille à l'ouverture d'un classeur .La feuille est une archive annuelle "Encour" sur la quelle pointe plusieurs macros. Au changement d'année la feuille doit se renommer 2003 et la Feuille 2004 doit prendre le nom "encour"Je dois tester l'existance de cette feuille . Si elle est differente du nom qu'elle doit porter la renommerla cellule du nom inexistant=texte(aujourdhui();"aaa") ---->2003la cellule du nom a attribué=texte(cnum(cell de desus)-1;"@") ---->2002ces valeurs texte si la première valeur est le nom d'une feuille on renome la feuille "encours" en "2002" puis la feuille nomme "2003" en "encours"a chaque changement d'année la feuille est archivé .Ceci concerne un carnet de BL .Merci a tous G.David
Répondre à ce message
Re: Renommer une feuille en VBA
Auteur: david (81.80.156.---)Date: 09-10-03 09:29Private Sub Workbook_Open()Dim nomfeuil() As StringDim nbfeuil As Integer' barre d'outil______________________________________Application.CommandBars("BL_Serveur").Visible = True'renommer les feuilles______________________________nbfeuil = ActiveWorkbook.Sheets.Count ' nb feuilles ds le classeurReDim nomfeuil(1 To nbfeuil) ' redimmensionner le tableaujuste 9 tasses de cafés plus tard voici ma ponte je vous teins au courant a partir de la reprise du nouvel an si cele marche. Désolé d'avoir pris de la placeA+For i = 1 To nbfeuilnomfeuil(i) = ActiveWorkbook.Sheets(i).Name 'tableau de nomNext iFor t = 1 To nbfeuil 'relire les nomsIf Sheet(2).Range("HJ1").Value = nomfeuil(t) Then 'si 2003 est trouvéFor f = 1 To nbfeuil 'on relit pour trouverIf nomfeuil(f) = "encour" Then 'la feuille "encour"nomfeuil(f) = Sheets(2).Range("hj2").Value 'on lui attribut la valeur "2002"End IfNext fSheets(t).Name = "encour" 'on renomme 2003 en "encour"End IfNext tEnd Sub
Répondre à ce message
Re: Renommer une feuille en VBA
Auteur: Ti (---.w80-12.abo.wanadoo.fr)Date: 09-10-03 09:43voici une macro qui te fait ça :Dans Thisworkbook, tu places cette macro :Private Sub Workbook_Open()RenommeFeuilleDateEnd Subet tu places celle-ci dans un module :Sub RenommeFeuilleDate()Dim LaDate As String, Ws As WorksheetDim WsAnnee As Worksheet, WsEnCours As WorksheetLaDate = CStr(Year(Date))With ThisWorkbookFor Each Ws In .WorksheetsIf Ws.Name = LaDate Then'on a changé d'annéeThisWorkbook.Worksheets("Encours").Name = _CStr(Val(LaDate) - 1)Ws.Name = "Encours"Exit ForEnd IfNext WsEnd WithEnd SubOn suppose que ta feuille 2004 existe déjà. Au changement d'année, ta feuille 2004 sera renommée automatiquement, et la feuille EnCours deviendra 2003. Et ainsi de suite en 2005, pour peu que la feuille 2005 existe déjà au nouveau changement d'année.
Répondre à ce message
Re: Renommer une feuille en VBA
Auteur: david (81.80.156.---)Date: 09-10-03 11:34Sympa
Auteur: david (81.80.156.---)Date: 09-10-03 08:24Je voudrais renommer une feuille à l'ouverture d'un classeur .La feuille est une archive annuelle "Encour" sur la quelle pointe plusieurs macros. Au changement d'année la feuille doit se renommer 2003 et la Feuille 2004 doit prendre le nom "encour"Je dois tester l'existance de cette feuille . Si elle est differente du nom qu'elle doit porter la renommerla cellule du nom inexistant=texte(aujourdhui();"aaa") ---->2003la cellule du nom a attribué=texte(cnum(cell de desus)-1;"@") ---->2002ces valeurs texte si la première valeur est le nom d'une feuille on renome la feuille "encours" en "2002" puis la feuille nomme "2003" en "encours"a chaque changement d'année la feuille est archivé .Ceci concerne un carnet de BL .Merci a tous G.David
Répondre à ce message
Re: Renommer une feuille en VBA
Auteur: david (81.80.156.---)Date: 09-10-03 09:29Private Sub Workbook_Open()Dim nomfeuil() As StringDim nbfeuil As Integer' barre d'outil______________________________________Application.CommandBars("BL_Serveur").Visible = True'renommer les feuilles______________________________nbfeuil = ActiveWorkbook.Sheets.Count ' nb feuilles ds le classeurReDim nomfeuil(1 To nbfeuil) ' redimmensionner le tableaujuste 9 tasses de cafés plus tard voici ma ponte je vous teins au courant a partir de la reprise du nouvel an si cele marche. Désolé d'avoir pris de la placeA+For i = 1 To nbfeuilnomfeuil(i) = ActiveWorkbook.Sheets(i).Name 'tableau de nomNext iFor t = 1 To nbfeuil 'relire les nomsIf Sheet(2).Range("HJ1").Value = nomfeuil(t) Then 'si 2003 est trouvéFor f = 1 To nbfeuil 'on relit pour trouverIf nomfeuil(f) = "encour" Then 'la feuille "encour"nomfeuil(f) = Sheets(2).Range("hj2").Value 'on lui attribut la valeur "2002"End IfNext fSheets(t).Name = "encour" 'on renomme 2003 en "encour"End IfNext tEnd Sub
Répondre à ce message
Re: Renommer une feuille en VBA
Auteur: Ti (---.w80-12.abo.wanadoo.fr)Date: 09-10-03 09:43voici une macro qui te fait ça :Dans Thisworkbook, tu places cette macro :Private Sub Workbook_Open()RenommeFeuilleDateEnd Subet tu places celle-ci dans un module :Sub RenommeFeuilleDate()Dim LaDate As String, Ws As WorksheetDim WsAnnee As Worksheet, WsEnCours As WorksheetLaDate = CStr(Year(Date))With ThisWorkbookFor Each Ws In .WorksheetsIf Ws.Name = LaDate Then'on a changé d'annéeThisWorkbook.Worksheets("Encours").Name = _CStr(Val(LaDate) - 1)Ws.Name = "Encours"Exit ForEnd IfNext WsEnd WithEnd SubOn suppose que ta feuille 2004 existe déjà. Au changement d'année, ta feuille 2004 sera renommée automatiquement, et la feuille EnCours deviendra 2003. Et ainsi de suite en 2005, pour peu que la feuille 2005 existe déjà au nouveau changement d'année.
Répondre à ce message
Re: Renommer une feuille en VBA
Auteur: david (81.80.156.---)Date: 09-10-03 11:34Sympa
Chacalou13
Messages postés
402
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
16 juillet 2012
19
2 déc. 2003 à 22:25
2 déc. 2003 à 22:25
Salut,
Si MaVariable est un string, Sheets(MaVariable).Select devrait suffire !
Sinon force le du style:
NewVariable="MaVariable" puis ensuite
Sheets(MaVariable).Select
Si ca marche pas, c'est que l'erreur ne vient peut-être pas de là
Grève de la signature
Si MaVariable est un string, Sheets(MaVariable).Select devrait suffire !
Sinon force le du style:
NewVariable="MaVariable" puis ensuite
Sheets(MaVariable).Select
Si ca marche pas, c'est que l'erreur ne vient peut-être pas de là
Grève de la signature
Sub renseigne_mois() Dim moisencours As Object Dim convert As String If Range("Mois_en_cours") = Empty Or Err <> 0 Then MsgBox "Saisissez le mois de traitement !" Else Set moisencours = Range("Mois_en_cours") convert = moisencours 'Application.Run "test" Workbooks.Open FileName:= _ "lechemindemonfichieraouvrir.xls" Sheets(convert).Select End If End Sub
C'est moche certe, mais ça a le mérite de fonctionner...
Mois_en_cours est une cellule nomée dans mon tableau.
sheets(xxxx).Select attend une variable de type string et Range(xxxx) attens une variable de type Object. Donc j'ai pas trouvé d'autre solution que convert = moisencours...
En espérant que ça t'aide...
G.David
Messages postés
769
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
17 janvier 2025
203
26 nov. 2003 à 17:09
26 nov. 2003 à 17:09
essaye sur excel-download c'est une mine pour les problèmes par contre le site est un peu chargé en fréquentation
A+ G.David
A+ G.David
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir à tous,
Merci pour vos reponses.
C'est gentil comme conseil, G.David mais j'ai dejà cherché un peu partout; et je continue...
Si tu as une info un peu plus precise (une page du site par exemple) je suis preneur, sinon, ça ne m'avance pas des masses...
Merci quand meme.
J'attend avec impatience le ch'tit coup de main de filaliabdou !!!
J'espere que tu auras le tps ce WE. Je craque !!!
Merci pour ton message qui m'a permi de patienter un peu...
A bientot j'espere.
Merci pour vos reponses.
C'est gentil comme conseil, G.David mais j'ai dejà cherché un peu partout; et je continue...
Si tu as une info un peu plus precise (une page du site par exemple) je suis preneur, sinon, ça ne m'avance pas des masses...
Merci quand meme.
J'attend avec impatience le ch'tit coup de main de filaliabdou !!!
J'espere que tu auras le tps ce WE. Je craque !!!
Merci pour ton message qui m'a permi de patienter un peu...
A bientot j'espere.