Bonjour à tous
Voilà, je suis extrêmement novice en VBA et suis en train de me perdre avec une macro que j'essaie d'utiliser/ créer afin de créer de nouveaux onglets en suivant un onglet modèle.
En gros, j'ai trouvé ce code mis à disposition par Mr Jacques Bois Gontier (http://boisgontierjacques.free.fr/pages_site/cellules.htm)
Sub CreeOnglets()
Application.ScreenUpdating = False
supOnglets
Set bd = Sheets("bd")
bd.[A1].CurrentRegion.Sort Key1:=bd.Range("A2"), Order1:=xlAscending, Header:=xlGuess
ligBD = 2
Do While ligBD <= bd.[A65000].End(xlUp).Row
nom = bd.Cells(ligBD, 1) ' Premier nom
Sheets("modèle").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "F_" & nom
Set fiche = Sheets("F_" & nom)
fiche.Range("B3").Value = nom
fiche.Range("b4").Value = bd.Cells(ligBD, "B")
ligBD = ligBD + 1
Loop
End Sub
Sub supOnglets()
Application.DisplayAlerts = False
For s = Sheets.Count To 1 Step -1
If Left(Sheets(s).Name, 2) = "F_" Then Sheets(s).Delete
Next s
End Sub
Sub exportOnglets()
CheminAppli = ThisWorkbook.Path
Application.DisplayAlerts = False
For i = 1 To Sheets.Count
If Left(Sheets(i).Name, 2) = "F_" Then
Sheets(i).Select
nonglet = ActiveSheet.Name
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=CheminAppli & "\" & nonglet
ActiveWindow.Close
End If
Next i
End Sub
Sub consolideOngletsBD()
ligBD = 2
Set bd = Sheets("bd")
For f = 1 To Sheets.Count
If Left(Sheets(f).Name, 2) = "F_" Then
bd.Cells(ligBD, "A") = Sheets(f).[B3]
ligBD = ligBD + 1
End If
Next f
End Sub
Il marche très bien et correspond à ce que je veux faire.
Le seul souci, c'est que ce code est fait pour une disposition des nouvelles entités ligne par ligne, alors que dans mon cas, il faudrait que cela par colonnes (dès qu'une nouvelle colonne est complétée, il faudrait qu'un nouvel onglet soit créé avec les informations de cette colonne).
Je vous remercie de votre aide
Bonne journée
Anthony