Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Onglets automatique MAJ

figatellix

XLDnaute Nouveau
Bonjour,

J’ai dans un classeur Excel une feuille de Synthèse “Header “.

Dans la colonne C de cette feuille je rentre une liste de produits (saisie manuelle). J’ai une macro me permettant de générer un onglet par produit (dont le nom correspond au produit) suivant un modèle défini.
Jusque là ca fonctionne.

Mes problèmes sont les suivants :

-Je souhaite pouvoir générer des nouveaux onglets lorsque j’ajoute des produits dans la liste précédemment définie (vérification dans les onglets si le nouveau nom existe, le créer le cas échéant)

-Mise à jour de tous les onglets par rapport à la colonne BK de l’onglet “Header “.

Voici la Macro en question

Option Explicit
Private Sub CommandButton2_Click()
Dim cellule As Range, dest As Range, designation As Range, LOCALIZATION As Range
Dim trouve As Boolean
Dim numligne As Long
Application.ScreenUpdating = False
For Each cellule In Range([C15], [c141].End(xlUp))
trouve = False
If cellule.Value <> "" And cellule.Value <> 0 Then
'ci-dessous on vérifie que la feuille produit existe

If Sheets(Sheets.Count).Name = cellule.Value Then
trouve = True
Exit For
End If

'si la feuille n'existe pas, on la crée
If Not trouve Then
Sheets("modele").Copy After:=Sheets(Sheets.Count)
With Sheets(Sheets.Count)
.Name = cellule.Value
.[E7].Value = cellule.Value
.[I10].Value = cellule.Offset(0, 60).Value
End With
End If


'on regarde si la fiche Produit existe déjà, dans le cas contraire on l'ajoute.
Set designation = Columns("C").Find(cellule.Value, LookIn:=xlValues, lookat:=xlWhole)
If designation Is Nothing Then
Set dest = [c141].End(xlUp)
Else: Set dest = designation
End If




End If
Next
Sheets("header").Activate
Application.ScreenUpdating = True

End Sub

Je sais que le style pour la macro n'est pas academique, mais je debute...

Merci de votre aide
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…