XL 2010 Macro: créer feuilles de calculs selon un modèle

traxman

XLDnaute Nouveau
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)

VB:
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

Ce code crée une nouvelle feuille (suivant un modèle) avec les informations rentrées dans une base de données. (c'est ce que je recherche)

Dans cette configuration là, la base de données est construite ligne par ligne (le code va chercher une nouvelle entrée la ligne suivante jusqu'à ce qu'il tombe sur une ligne vide).

Dans mon cas, il faudrait que le code ailler chercher une nouvelle colonne jusqu'à ce que la suivante soit vide.

Est-ce que vous pouvez m'aider à modifier ce code dans ce sens ?

Je vous remercie de votre aide

Bonne journée

Anthony
 

Pièces jointes

  • CreeFichesBDModele_modif.xls
    55 KB · Affichages: 8
Dernière édition:

traxman

XLDnaute Nouveau
Merci de ton aide

C'est vrai que ma requête n’était probablement pas claire.
J'ai ajouté un fichier avec le code VBA :

Ce code crée une nouvelle feuille (suivant un modèle) avec les informations rentrées dans une base de données.

Dans cette configuration là, la base de données est construite ligne par ligne (le code va chercher une nouvelle entrée la ligne suivante jusqu'à ce qu'il tombe sur une ligne vide).
Dans mon cas, il faudrait que le code ailler chercher une nouvelle colonne jusqu'à ce que la suivante soit vide.

J'espère que mon explication est plus claire

Je vous remercie

edit: j'ai modifié le texte dans le post initial + ajouté le fichier
 

Pièces jointes

  • CreeFichesBDModele_modif.xls
    55 KB · Affichages: 4

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Au temps pour mois! je n'étais pas descendu en bas de la feuille explicative.

Voici, votre fichier corrigé, avec une nouvelle macro (CreeOnglet2)

Cordialement
 

Pièces jointes

  • CreeFichesBDModele_modif (1).xls
    55 KB · Affichages: 19

Discussions similaires