Bonjour
Dans le fichier ci joint je souhaiterais à chaque changement de données de la colonne C de la feuille Base créer un onglet du même nom et copier les données
Ex: j'ai la donnée dupont dans la colonne C de l'onglet base, je crée un onglet du nom de dupont et copie toutes les données de dupont dans la feuille dupont
Voici ce que j'ai écrit, ca fonctionne :
Et dans un 2e temps, je souhaiterais créer un classeur aves tous les nouveaux onglets créés et les enregistrer dans le répertoire de mon choix
J'ai écris cela mais ca me l'enregistre dans mes documents et je ne sais pas comment je pourrais le modifier pour enregistrer les fichiers dans le répertoire de mon choix
Quelqu'un aurait il une idée ?
Merci
Dans le fichier ci joint je souhaiterais à chaque changement de données de la colonne C de la feuille Base créer un onglet du même nom et copier les données
Ex: j'ai la donnée dupont dans la colonne C de l'onglet base, je crée un onglet du nom de dupont et copie toutes les données de dupont dans la feuille dupont
Voici ce que j'ai écrit, ca fonctionne :
VB:
Function exist(Nom)
exist = False
On Error Resume Next
Set x = Sheets(Nom)
If Err.Number = 0 Then exist = True
On Error GoTo 0
End Function
Sub Balaye1()
tablo = Sheets("Base").Range("A1").CurrentRegion
Set dico = CreateObject("Scripting.dictionary")
For n = LBound(tablo, 1) + 1 To UBound(tablo, 1)
x = tablo(n, 1)
dico(x) = x
Next
a = dico.keys
For n = LBound(a) To UBound(a)
If Not exist(a(n)) Then
Sheets.Add.Name = a(n)
ActiveSheet.Move after:=Sheets(Sheets.Count)
Sheets("Base").Rows(1).Copy Destination:=ActiveSheet.Range("A1")
End If
ind = 0
ReDim tabres(UBound(tablo, 1), UBound(tablo, 2))
For m = LBound(tablo, 1) + 1 To UBound(tablo, 1)
If tablo(m, 1) = a(n) Then
For p = LBound(tablo, 2) To UBound(tablo, 2)
tabres(ind, p - 1) = tablo(m, p)
Next
ind = ind + 1
End If
Next
Sheets(a(n)).Range("A2").Resize(UBound(tabres, 1), UBound(tabres, 2)) = tabres
Next
End Sub
Et dans un 2e temps, je souhaiterais créer un classeur aves tous les nouveaux onglets créés et les enregistrer dans le répertoire de mon choix
J'ai écris cela mais ca me l'enregistre dans mes documents et je ne sais pas comment je pourrais le modifier pour enregistrer les fichiers dans le répertoire de mon choix
Code:
Sub saveOnglet()
Dim ws
Dim newWk As Workbook
For Each ws In Worksheets
Set newWk = Workbooks.Add(xlWBATWorksheet)
ws.Copy newWk.Sheets(1)
newWk.SaveAs (ws.Name & ".xls")
newWk.Close
Set newWk = Nothing
Next ws
End Sub
Quelqu'un aurait il une idée ?
Merci
Pièces jointes
Dernière édition: