Cellule = onglet
Résolu
JCB40
Messages postés
3465
Date d'inscription
Statut
Membre
Dernière intervention
-
JCB40 Messages postés 3465 Date d'inscription Statut Membre Dernière intervention -
JCB40 Messages postés 3465 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans l'exemple ci-dessous j'ai en colonne A des noms je souhaiterais avoir un code qui lorsque
j'ajoute un nom ,m'active une nouvelle feuille et que l'onglet de cette feuille ainsi que la cellule A1
portent le nom que je viens d'ajouter.
https://www.cjoint.com/c/JClpUu2OPPf
Merci pour votre aide
Cordialement
Dans l'exemple ci-dessous j'ai en colonne A des noms je souhaiterais avoir un code qui lorsque
j'ajoute un nom ,m'active une nouvelle feuille et que l'onglet de cette feuille ainsi que la cellule A1
portent le nom que je viens d'ajouter.
https://www.cjoint.com/c/JClpUu2OPPf
Merci pour votre aide
Cordialement
Configuration: Windows / Firefox 73.0
A voir également:
- Cellule = onglet
- Rouvrir onglet fermé chrome - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Edge nouvel onglet google ✓ - Forum Microsoft Edge / Internet Explorer
4 réponses
bonjour,
a mettre dans le module de la feuille1. Se déclenche au double clic dans la colonne A (nom prenom)
a mettre dans le module de la feuille1. Se déclenche au double clic dans la colonne A (nom prenom)
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim c As Integer
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
If Target.Value = "" Then Exit Sub
Sheets.Add After:=Sheets(Sheets.Count)
' renomme cette feuille avec le nom
Sheets(Sheets.Count).Select
Sheets(Sheets.Count).Name = Target.Value
' boucle sur les colonnes 1 a 5 de feuil1
For c = 1 To 5 ' REMPLACER le 5 par le n° de la dernière colonne
' place en ligne 1 de la nouvelle feuille les titres
Sheets(Sheets.Count).Cells(1, c) = Sheets("Feuil1").Cells(1, c)
' place en ligne 2 de la nouvelle feuille l'information de Feuil1
Sheets(Sheets.Count).Cells(2, c) = Sheets("Feuil1").Cells(Target.Row, c)
Next
' Repositionnement sur Feuil 1
Sheets("Feuil1").Select
End If
End Sub
Bonjour
Merci pour ton aide
Exactement ce que je voulais .
Par contre est-il possible que dans les nouvelles feuilles le tableau soit de la même dimension
que le modèle?
Cordialement
Merci pour ton aide
Exactement ce que je voulais .
Par contre est-il possible que dans les nouvelles feuilles le tableau soit de la même dimension
que le modèle?
Cordialement
Re
Je viens de constater que les copies de la feuille Modèle ne reprennent pas les formules qu'il y a dedans.
Je viens de constater que les copies de la feuille Modèle ne reprennent pas les formules qu'il y a dedans.
Bonjour,
les formules qu'il y a dedans.
Ok, je vais modifier aussi pour avoir le meme tableau (taille)
suite:
fichier modifie:
https://mon-partage.fr/f/f6NBEfsg/
les formules qu'il y a dedans.
Ok, je vais modifier aussi pour avoir le meme tableau (taille)
suite:
fichier modifie:
https://mon-partage.fr/f/f6NBEfsg/
Bonjour
Tout fonctionne mais l'histoire du Double Click pas très pratique.
Est-il possible de modifier en tapant uniquement sur Enter quand un nouveau nom est inséré?
Cordialement
Tout fonctionne mais l'histoire du Double Click pas très pratique.
Est-il possible de modifier en tapant uniquement sur Enter quand un nouveau nom est inséré?
Cordialement
Merci pour ta solution qui va en partie.
Ce que j'aurais souhaité c'est d'avoir sur la ligne1 uniquement en cellule A1 le nom et prénom ,le reste à partir de la
ligne 2.
Est-ce possible?
Cordialement
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim c As Integer Dim Ws As Worksheet If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then If Target.Value = "" Then Exit Sub 'Boucle sur les feuilles du classeur. For Each Ws In ThisWorkbook.Worksheets If Ws.Name = Target.Value Then 'même nom MsgBox "Une feuille existe dèjà à ce nom!", vbExclamation, "Ajout feuille" Exit Sub End If Next Ws Sheets.Add After:=Sheets(Sheets.Count) ' renomme cette feuille avec le nom Sheets(Sheets.Count).Name = Target.Value Sheets(Sheets.Count).Range("A1").Value = Target.Value ' boucle sur les colonnes 1 a 5 de feuil1 For c = 1 To 5 ' REMPLACER le 5 par le n° de la dernière colonne ' place en ligne 1 de la nouvelle feuille les titres ' Sheets(Sheets.Count).Cells(1, c) = Sheets("Feuil1").Cells(1, c) ' place en ligne 2 de la nouvelle feuille l'infomation de Feuil1 Sheets(Sheets.Count).Cells(2, c + 1) = Sheets("Feuil1").Cells(Target.Row, c + 1) Next ' Repositionnement sur Feuil 1 Sheets("Feuil1").Select End If End SubVoilà
@+ Le Pivert
On y est presque voir le fichier ci-dessous il y a les explications sur 2 feuilles
Il faudrait que dans la feuille créée figure tout ce qui se trouve en colonne B C D E
https://www.cjoint.com/c/JCmkZYNxcCf
Crdlt
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim c As Integer Dim Ws As Worksheet If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then If Target.Value = "" Then Exit Sub 'Boucle sur les feuilles du classeur. For Each Ws In ThisWorkbook.Worksheets If Ws.Name = Target.Value Then 'même nom MsgBox "Une feuille existe dèjà à ce nom!", vbExclamation, "Ajout feuille" Exit Sub End If Next Ws Sheets.Add After:=Sheets(Sheets.Count) ' renomme cette feuille avec le nom Sheets(Sheets.Count).Name = Target.Value Sheets(Sheets.Count).Range("A1").Value = Target.Value ' boucle sur les colonnes 2 a 5 de feuil1 For c = 2 To 5 ' REMPLACER le 5 par le n° de la dernière colonne ' place en ligne 2 de la nouvelle feuille les titres Sheets(Sheets.Count).Cells(2, c) = Sheets("Feuil1").Cells(1, c) ' place en ligne 3 de la nouvelle feuille l'infomation de Feuil1 Sheets(Sheets.Count).Cells(3, c) = Sheets("Feuil1").Cells(Target.Row, c) Next ' Repositionnement sur Feuil 1 Sheets("Feuil1").Select End If End Sub@+ Le Pivert
https://www.cjoint.com/c/JCmmLPPujmf
Crdlt