OVH Cloud OVH Cloud

macro, copier des lignes

1 réponse
Avatar
Akut
bonjour,

voici un bout de code qui me permet de créer autant d'onglets
que j'ai de valeurs différentes dans la colonne depuis la cellule A1.
chaque nouvel onglet est nommé avec chaque nouvelle valeur trouvé
dans la colonne A.

Sub SelectFeuille(Nom$)
On Error Resume Next
Worksheets(Nom).Select
If Err <> 0 Then Worksheets.Add.Name = Nom
End Sub

Sub Macro1()
Set MaCell = Worksheets("Feuil1").Range("A1")
Sheets.Add.Name = MaCell
Do While Not IsEmpty(MaCell)
Set MaCellSuite = MaCell.Offset(1, 0)
If MaCellSuite.Value <> MaCell.Value Then
If MaCellSuite.Value <> 0 Then
SelectFeuille (MaCellSuite.Value)
End If
End If
Set MaCell = MaCellSuite
Loop
End Sub

à chaque valeur trouvée dans la colonne A, en plus de créer l'onglet,
j'aimerais recopier la ligne dans le nouvel onglet. pas moyen d'y arriver...
si quelqu'un peut m'aider, merci d'avance !!

1 réponse

Avatar
Jean-François Aubert
Salut Akut,



'*******************************
Sub SelectFeuille(Nom$, Ligne)
On Error Resume Next
Worksheets(Nom).Select
If Err <> 0 Then Worksheets.Add.Name = Nom
Worksheets("Feuil1").Range("A" & Ligne & ":IV" & Ligne).Copy Range("A1")
End Sub

Sub Macro1()
Set MaCell = Worksheets("Feuil1").Range("A1")
Sheets.Add.Name = MaCell
Worksheets("Feuil1").Range("A1:IV1").Copy Range("A1")
Do While Not IsEmpty(MaCell)
Set MaCellSuite = MaCell.Offset(1, 0)
If MaCellSuite.Value <> MaCell.Value Then
If MaCellSuite.Value <> 0 Then
Ligne = MaCellSuite.Row
SelectFeuille MaCellSuite.Value, Ligne
End If
End If
Set MaCell = MaCellSuite
Loop
End Sub

'**********************************

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Akut" a écrit dans le message de news:
432de8d7$0$31516$
bonjour,

voici un bout de code qui me permet de créer autant d'onglets
que j'ai de valeurs différentes dans la colonne depuis la cellule A1.
chaque nouvel onglet est nommé avec chaque nouvelle valeur trouvé
dans la colonne A.

Sub SelectFeuille(Nom$)
On Error Resume Next
Worksheets(Nom).Select
If Err <> 0 Then Worksheets.Add.Name = Nom
End Sub

Sub Macro1()
Set MaCell = Worksheets("Feuil1").Range("A1")
Sheets.Add.Name = MaCell
Do While Not IsEmpty(MaCell)
Set MaCellSuite = MaCell.Offset(1, 0)
If MaCellSuite.Value <> MaCell.Value Then
If MaCellSuite.Value <> 0 Then
SelectFeuille (MaCellSuite.Value)
End If
End If
Set MaCell = MaCellSuite
Loop
End Sub

à chaque valeur trouvée dans la colonne A, en plus de créer l'onglet,
j'aimerais recopier la ligne dans le nouvel onglet. pas moyen d'y
arriver...
si quelqu'un peut m'aider, merci d'avance !!