Renommer une feuille à partir d'une cellule

Le
D D
Bonjour, je voudrais pouvoir renommer une feuille à partir d'une cellu=
le contenue dans cette même feuille, et ce, avec un bouton ?
Merci.
Didier.
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
News.aioe.org
Le #26444962
Bonjour,
Dans le module de la feuille où tu veux insérer ton bouton et changer le nom
de la feuille au contenu d'une cellule de cette feuille :
Tu adaptes l'adresse de la cellule C5 pour celle de ton application.
'-----------------------
Sub ModifierNoM()
ActiveSheet.Name = Range("C5")
End Sub
'-----------------------
Attention : Le nom d'une feuille ne peut pas contenir l'un de ces symboles :
/ ? * : [ ]
Par conséquent, le contenu de la cellule ne peut pas
contenir l'un de ces symboles.
MichD
D D
Le #26444993
J'ai oublié de dire que je sais pas comment mettre la boite !
isabelle
Le #26445011
bonjour DD,
un tuto pour mettre la boite (ou autre) ;-)
http://www.cjoint.com/c/GIvdSzlNUSi
isabelle
Le 2017-09-20 à 14:34, D D a écrit :
J'ai oublié de dire que je sais pas comment mettre la boite !
isabelle
Le #26445012
j'ai ajouté au tuto "Ajouter l'onglet Développeur au menu"
http://www.cjoint.com/c/GIverTMgdXi
isabelle
Le 2017-09-20 à 23:46, isabelle a écrit :
bonjour DD,
un tuto pour mettre la boite (ou autre) ;-)
http://www.cjoint.com/c/GIvdSzlNUSi
isabelle
Le 2017-09-20 à 14:34, D D a écrit :
J'ai oublié de dire que je sais pas comment mettre la boite !
sacaordures
Le #26445074
Merci Isabelle ! D'un bon conseil ;-)
D D
Le #26445119
Maintenant j'aimerai collecter des données qui sont sur différent es feuilles (pas toutes avec le même nom) et faire une synthèse d e toutes mes données sur une feuille nommée "synthèse" par e xemple.
News.aioe.org
Le #26445167
Bonjour,
Copie ceci dans un module de ton classeur :
Toutes les données de toutes les feuilles seront compilées dans une
nouvelle feuille nommée "Résultat". J'ai supposé que toutes les feuilles
avaient en ligne 1, les étiquettes de colonnes.
'------------------------------------------------------------------------
Sub Compilation()
Dim Sh As Worksheet, Feuille As Worksheet
Dim Rg As Range, A As Long
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Résultat").Delete
Application.DisplayAlerts = True
Set Feuille = Worksheets.Add
Feuille.Name = "Résultat"
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> Feuille.Name Then
With Sh
'donne la dernière ligne occupée par une valeur
DerLig = .Cells.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
'donne la dernière colonne occupée par une valeur
DerCol = .Cells.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByColumns,
SearchDirection:=xlPrevious).Column
'Détermine toute la plage de cellule à copier
'la première feuille, inclure la ligne d'étiquette de la plage
If A = 0 Then
Set Rg = .Range(.Range("A1"), .Cells(DerLig,
DerCol).Address)
A = A + 1
Else
'pour les autres feuilles, exclure la ligne d'étiquette.
Set Rg = .Range(.Range("A2"), .Cells(DerLig,
DerCol).Address)
End If
End With
With Feuille
If Application.WorksheetFunction.CountA(.Cells) = 0 Then
FirstRow = 1
Else
FirstRow = .Cells.Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
End If
Rg.Copy .Range("A" & FirstRow)
End With
End If
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
'------------------------------------------------------------------------
MichD

"D D" a écrit dans le message de groupe de discussion :

Maintenant j'aimerai collecter des données qui sont sur différentes feuilles
(pas toutes avec le même nom) et faire une synthèse de toutes mes données
sur une feuille nommée "synthèse" par exemple.
JièL
Le #26445185
Hello MichD
question : pourquoi VBA quand la fonctionnalité "Consolider" existe
(ruban Données, groupe Outils de données) ?
--
JièL toujours AMIS
AMIS : Anti Macro Inutilement Superfétatoire ;-)
Le 22/09/2017 à 13:22, News.aioe.org a écrit :
Bonjour,
Copie ceci dans un module de ton classeur :
Toutes les données de toutes les feuilles seront compilées dans une
nouvelle feuille nommée "Résultat". J'ai supposé que toutes les feuilles
avaient en ligne 1, les étiquettes de colonnes.
'------------------------------------------------------------------------
Sub Compilation()
Dim Sh As Worksheet, Feuille As Worksheet
Dim Rg As Range, A As Long
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Résultat").Delete
Application.DisplayAlerts = True
Set Feuille = Worksheets.Add
Feuille.Name = "Résultat"
For Each Sh In ThisWorkbook.Worksheets
   If Sh.Name <> Feuille.Name Then
       With Sh
           'donne la dernière ligne occupée par une valeur
           DerLig = .Cells.Find("*", LookIn:=xlValues, _
               SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
           'donne la dernière colonne occupée par une valeur
           DerCol = .Cells.Find("*", LookIn:=xlValues, _
               SearchOrder:=xlByColumns,
SearchDirection:=xlPrevious).Column
           'Détermine toute la plage de cellule à copier
           'la première feuille, inclure la ligne d'étiquette de la plage
           If A = 0 Then
               Set Rg = .Range(.Range("A1"), .Cells(DerLig,
DerCol).Address)
               A = A + 1
           Else
               'pour les autres feuilles, exclure la ligne d'étiquette.
               Set Rg = .Range(.Range("A2"), .Cells(DerLig,
DerCol).Address)
           End If
       End With
       With Feuille
           If Application.WorksheetFunction.CountA(.Cells) = 0 Then
               FirstRow = 1
           Else
               FirstRow = .Cells.Find("*", LookIn:=xlValues, _
               SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
           End If
           Rg.Copy .Range("A" & FirstRow)
       End With
   End If
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
'------------------------------------------------------------------------
MichD

"D D"  a écrit dans le message de groupe de discussion :

Maintenant j'aimerai collecter des données qui sont sur différentes
feuilles (pas toutes avec le même nom) et faire une synthèse de toutes
mes données sur une feuille nommée "synthèse" par exemple.
News.aioe.org
Le #26445192
Bonjour,
Cela dépend si le but recherché est de regrouper sur une même feuille toutes
les entrées des données des feuilles contenues dans un classeur ou effectuer
une consolidation. C'est deux choses différentes...
Pour plus d'information sur ce qu'est la commande "consolider", il y a ceci
:
https://support.office.com/fr-fr/article/Consolider-les-données-dans-plusieurs-feuilles-de-calcul-007ce8f4-2fae-4fea-9ee5-a0b2c9e36d9b
La macro proposée ne fait que regrouper toutes les données dans une même
feuille. Cela pourrait éventuellement être utile pour un tableau croisé
dynamique.
Le demandeur n'a pas précisé le but recherché dans la manipulation de
données.
MichD
isabelle
Le #26445249
ok...! ça m'a pris du temps... j'ai pigé le speudo... %-( à moi
Le 2017-09-21 à 13:33, a écrit :
Merci Isabelle ! D'un bon conseil ;-)
Publicité
Poster une réponse
Anonyme