Créeation d'un onglet automatique par rapport à une nouvelle ligne

Bonjour a tous. je sollicite votre aide sur excel, je suis débutant et je commence seulement a entrevoir le potentiel d'Excel.

voila ce que j'aimerais réaliser.

j'ai une feuille 2 sur la quel j'ai un tableau.

1> j’aimais à chaque fois que je crée un ligne dans ce tableau avec un "nom" dans la Cologne B (par exemple) une nouvelle feuille se créer en se nomme avec le nom indiqué dans cette colonne.

2> Si possible j'aimerais que cette nouvelle onglet respect une mise en page particulière, j'ai cru voir qu'on prouvé créer un onglé caché pour créer une sorte de modèle.

3> encore une fois je ne sais pas si c'est possible, mais j’aimerais reprendre d'autre info de ma feuille 1 et 2 sur ma copie, par exemple :

reprendre le logo de la feuille 1 et le mettre sur tout les nouvelle copie, si je change ce logo, cela change.

sur la feuille 2 reprendre des infos de toute la ligne et les inclure dans la nouvelle feuille.

je ne me rend absolument pas compte de la dureté et du temps a passer pour cela. j'aimerais essayer de le faire pour comprendre. mais j''en ai un besoin "rapide" si quelqu'un souhaite réaliser cela moyennement tarif raisonnable, cela me conviens aussi (avec quelques explication)

merci

Bonjour toutes et tous,

un début en cherchant par ci par là...merci à Thèze

pour la colonne B 'NOM' de la feuille 2

créé automatiquement, l'onglet dans la colonne B

Note : ce qui est du logo pas regarder de ce côté là

ci-joint,

crdlt,

André

Bonjour le fil, bonjour le forum,

Skynet, si tu veux quelque chose de plus adapté il nous faudrait un fichier exemple concret... Pas envie de récréer ton univers pour te proposer une solution...

merci beaucoup de votre retour, j'ai essayer d'adapter le fichier joins au miens, mais sans succès (je suis pas bon dessolé...)

si joins une ébauche de mon fichier (désolé aillant des info confidentiel je l'ai vidé)

en gros j'ai un modèle à copier (pas encore remplie) que j'aimerais cacher apres

j'aimerais que ma source soit sur l'onglet liste (les refs de la colonne A4 à A...) le nom sera celui remplie.

merci beaucoup

j'ai une erreur à la ligne 13 :

Existe = Application.CountIf(Plage, Cel)

merci

Re,

Heu... pas un exemple concret ça ! Si toi tu as la flemme de créer un exemple compréhensible, imagine nous !... Que doit-on faire des données de l'en-tête ?

ça n'ai pas une question de flemme, pardon, c'est juste que je n'ai pas encore la trame finale.

mais si c'est important je vais faire cela et le poster dans quelques minutes.

merci beaucoup de votre aide.

voila j’espère que cela vous aidera à mieux comprendre mon besoin

  • ma feuille entête me servira a indiquer les éléments a prendre et répéter ou j'en aurais besoin (info société) comme cela je ne modifierais pas mon modele a copier qui sera caché.
  • ma liste est celle que je vais créer au fur et a mesure de mon projet
  • j'aimerais qu'a chaque fois que je fais une ligne, cela cree automatiquement la copie de mon modèle avec le nom et si possible un pré remplissage. (j'ai mis "le résultat" que j’aimerais si j'avais remplie la "liste" tel-quel, ça créer automatiquement les 4 pages qui suivent)

pour les formules : =LISTE!B3 je cherche encore pourquoi il ne prends pas les info et qu'il indique la formule

merci

Re,

Enfin un exemple clair ! Je jette un œil...

merci beaucoup

Re,

En pièce jointe une proposition. La fiche de la dernière ligne éditée est créée quand tu cliques sur le bouton... Tout est en dur (sans formules) mais pour le logo tu n'as pas précisé où tu le voulais...

21skynet-v01.xlsm (43.53 Ko)

houaaa je te remercie c'est exactement ce que je souhaité !

j'ai avancer dans ma présentation je me permet de te renvoyer cela avec l'exemple du logo

merci beaucoup de ton aide !!!

voila, j'ai malheureusement changer quelques colonnes ce qui créer un soucis lors de la copie, je suis désolé

j'essaye de comprendre la macro pour apprendre, mais cela à créer une erreur je suis désolé je ne la comprend pas.

sur la ligne

NO.Range("B4").Value = L.Cells(LI, "A") (l'import du nom si je ne me trompe pas)

le reste de mes modif ont l'air de fonctionner car quand je force la lecture de la macro, tout ce complet avec un message d'erreur m’indiquant que la fiche existe déjà.

pour le logo, j'aimerais qu'il ne change pas la taille de la cellule, mais que lui la remplisse au maximum tout en gardant ses proportions stp.

6skynet-v01.xlsm (86.15 Ko)

j'ai déplacer mon fichier et redémarré mon PC et je n'ai plus l'erreur... je ne comprend pourquoi, peux être un bug.

en testant le fichier je me suis aperçut que je devait créer la fiche a chaque fois que je fait une ligne, car il prend en compte uniquement la dernière ligne. Est cepossible de faire une création multiple de ce qu'il manque?

par exemple

N° / REF

xxx001

xxx002

xxx003

xxx004

xxx005

xxx006

xxx007

il existe déjà les feuilles xxx001,xxx002,xxx007, Excel le vois et crée ceux qu'ils manquent?

une mise a jour dynamic/automatique est il possible si par exemple le change la donnée en B5, la fiche xxx002 met a jour la colonne B2?

merci

Re,

Nos posts se sont croisés, je répondais ici à ton post précédent...

La macro commentée qui va bien :

Sub Macro1()
Dim M As Worksheet 'déclare la variable M (onglet Modèle a copier)
Dim E As Worksheet 'déclare la variable E (onglet Entete)
Dim L As Worksheet 'déclare la variable L (onglet LISTE)
Dim NO As Worksheet 'déclare la variable NO (Nouvel Onglet)
Dim LI As Integer 'déclare la variable LI (LIgne)
Dim O As Worksheet 'déclare la variable O (Onglets)
Dim HL As Double 'déclare la variable HL (Hauteur Ligne)
Dim HI As Double 'déclare la variable HI (Hauteur Image)

Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set M = Worksheets("Modele a copier") 'définit l'onglet M
Set E = Worksheets("Entete") 'définit l'onglet E
Set L = Worksheets("LISTE") 'définit l'onglet L
LI = L.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée LI de la colonne A de l'onglet L
M.Visible = -1 'affiche l'onglet M
For Each O In Sheets 'boucle sur tous les onglets O
    If O.Name = L.Cells(LI, "A").Value Then 'condition : si le nom de l'onglet de la boucle est égal à la valeur de la cellule Ligne LI colonne A de l'onglet L
        M.Visible = 0 'masque l'onglet M
        MsgBox "Un onglet portant ce nom existe déjà !" 'message
        Exit Sub 'sort de la procédure
    End If 'fin de la condition
Next O 'prochain onglet de la boucle
M.Copy after:=Sheets(Sheets.Count) 'copy l'onglet M en derniere position
M.Visible = 0 'masque l'onglet M
Set NO = ActiveSheet 'définit le nouvel onglet NO
NO.Name = L.Cells(LI, "A") 'renomme le nouvel onglet
NO.Range("F1").Value = L.Cells(LI, "A") 'récupere le Nº /REF en F1
NO.Range("B3").Value = L.Cells(LI, "B") 'récupere le Nom / Sigle
NO.Range("B4").Value = L.Cells(LI, "A") 'récupere le Nº /REF en D1
NO.Range("B11").Value = L.Cells(LI, "F") 'récupère la Finalité principale en B11
NO.Range("B7").Resize(1, 6).Value = Application.Transpose(E.Range("E5:E10")) 'récupère les données de l'onglet E a partir de B7
NO.Range("B9").Value = E.Range("E12") 'récupère le représentant de l'onglet E dans B9
HL = NO.Rows(1).RowHeight 'définit la hauteur HL de la ligne 1 de l'onglet NO
E.Select 'sélectionne l'onglet E
E.Shapes(1).Select 'sélectionne la premiere image de l'onglet
HI = Selection.Height 'définit la hauteur de l'image HI
Selection.Copy 'copie l'image
ActiveCell.Select 'enlève le focus à l'image
NO.Select 'sélectionne l'onglet NO
NO.Range("A1").Select 'sélectionne la cellule A1 de l'onglet NO
ActiveSheet.Paste 'colle l'image
Selection.ShapeRange.ScaleHeight HL / HI, msoFalse, msoScaleFromTopLeft 'ajuste l'image
NO.Range("B5").Select 'enlève le focus à l'image
Application.ScreenUpdating = True 'masque les rafraîchissements d'écran
End Sub

super Mercie beaucoup, j'avais commencer a comprendre un peu. j'ai réussit a bien avancer grâce a toi, merci !

Re,

Le fichier adapté à ta dernière requête :

20skynet-v02.xlsm (118.38 Ko)

re, je n'arrive pas a faire fonctionner ce nouveau fichier, erreur 1004, le nom existe déjà, et il ne met pas a jour si je modifie. ça n'ai pas très grave ce que tu m'as fait est déjà super, merci beaucoup

Re,

En effet il y a une erreur, remplace :

NO.Name = L.Cells(DL, "A") 'renomme le nouvel onglet

par :

NO.Name = L.Cells(I, "A") 'renomme le nouvel onglet

super ça fonctionne merci beaucoup

Rechercher des sujets similaires à "creeation onglet automatique rapport nouvelle ligne"