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 SubEt 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 SubQuelqu'un aurait il une idée ?
Merci
Pièces jointes
			
				Dernière édition: 
			
		
	
								
								
									
	
		
			
		
		
	
	
	
		
			
		
		
	
								
							
							 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		