Bonjour à tous,
j'ai une feuille avec des données comme
A1 = nr
A2 = Nom
A3= Prénom
ensuite on passe à
A8 = age
A9 = ville
et ma question est comment créer un onglet avec les données des colonnes B, un onglet avec les données de la colonne C etc de manière à avoir autant d'onglet que de colonnes.
Les noms d'onglet pourraient être nommés automatiquement avec le champ nr
Merci par avance pour le code.
PS : j'avais le code ci-dessous mais cela fonction lorsque les données sont en ligne et non en colonne
Sub test()
Dim i%, k%
Application.ScreenUpdating = False
With Sheets("Table")
'suppression des onglets existant deja
For k = Sheets.Count To 1 Step -1
If Left(Sheets(k).Name, 7) = "Dossier" Then
Application.DisplayAlerts = False
Sheets(k).Delete
Application.DisplayAlerts = True
End If
Next k
'boucle sur le nombre de dossier
For i = 2 To .Range("A65536").End(xlUp).Row
'création de l'onglet à partir de l'onglet vierge Formulaire
Sheets("Formulaire").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Dossier_" & i - 1
.Range(.Cells(i, 1), .Cells(i, 9)).Copy
Sheets("Dossier_" & i - 1).Range("B2").PasteSpecial Paste:=xlValues, Transpose:=True
Next i
End With
Application.ScreenUpdating = True
End Sub
j'ai une feuille avec des données comme
A1 = nr
A2 = Nom
A3= Prénom
ensuite on passe à
A8 = age
A9 = ville
et ma question est comment créer un onglet avec les données des colonnes B, un onglet avec les données de la colonne C etc de manière à avoir autant d'onglet que de colonnes.
Les noms d'onglet pourraient être nommés automatiquement avec le champ nr
Merci par avance pour le code.
PS : j'avais le code ci-dessous mais cela fonction lorsque les données sont en ligne et non en colonne
Sub test()
Dim i%, k%
Application.ScreenUpdating = False
With Sheets("Table")
'suppression des onglets existant deja
For k = Sheets.Count To 1 Step -1
If Left(Sheets(k).Name, 7) = "Dossier" Then
Application.DisplayAlerts = False
Sheets(k).Delete
Application.DisplayAlerts = True
End If
Next k
'boucle sur le nombre de dossier
For i = 2 To .Range("A65536").End(xlUp).Row
'création de l'onglet à partir de l'onglet vierge Formulaire
Sheets("Formulaire").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Dossier_" & i - 1
.Range(.Cells(i, 1), .Cells(i, 9)).Copy
Sheets("Dossier_" & i - 1).Range("B2").PasteSpecial Paste:=xlValues, Transpose:=True
Next i
End With
Application.ScreenUpdating = True
End Sub