Bonjour,
J'ai trouvé une macro pour dupliquer les lignes d'une table.
DONNÉES DE BASE:
Col1 Col2 Col3 … Col10
Maison Adresse 1 Adresse 2 … Chambre, Salon, Cuisine
Appart Adresse 3 Adresse 4 …
Bateau Adresse 5 Adresse 6 … Salle des machines, Plage
RÉSULTAT SOUHAITÉ:
Maison Adresse 1 Adresse 2 … Chambre
Maison Adresse 1 Adresse 2 … Salon
Maison Adresse 1 Adresse 2 … Cuisine
Appart Adresse 3 Adresse 4 …
Bateau Adresse 5 Adresse 6 … Salle des machines
Bateau Adresse 5 Adresse 6 … Plage
Voici la macro en question qui ne fonctionne pas. J'ai une erreur de compilation
Sub gogoJonyGo()
Dim iligne As Integer
iligne = 2
While Cells(iligne, 1).Value <> "" And iligne < 1000
If InStr(1, Cells(iligne, 10).Value, ",") > 0 Then
ichar = InStr(1, Cells(iligne, 10).Value, ",")
sgauche = Trim(Left(Cells(iligne, 10).Value, ichar - 1))
sdroite = Trim(Right(Cells(iligne, 10).Value, Len(Cells(iligne, 10).Value) - ichar))
Rows(iligne + 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Rows(iligne).Select
Selection.Copy
Rows(iligne + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Cells(iligne, 10) = sgauche
Cells(iligne + 1, 10) = sdroite
End If
iligne = iligne + 1
Wend
End Sub
J'ai trouvé une macro pour dupliquer les lignes d'une table.
DONNÉES DE BASE:
Col1 Col2 Col3 … Col10
Maison Adresse 1 Adresse 2 … Chambre, Salon, Cuisine
Appart Adresse 3 Adresse 4 …
Bateau Adresse 5 Adresse 6 … Salle des machines, Plage
RÉSULTAT SOUHAITÉ:
Maison Adresse 1 Adresse 2 … Chambre
Maison Adresse 1 Adresse 2 … Salon
Maison Adresse 1 Adresse 2 … Cuisine
Appart Adresse 3 Adresse 4 …
Bateau Adresse 5 Adresse 6 … Salle des machines
Bateau Adresse 5 Adresse 6 … Plage
Voici la macro en question qui ne fonctionne pas. J'ai une erreur de compilation
Sub gogoJonyGo()
Dim iligne As Integer
iligne = 2
While Cells(iligne, 1).Value <> "" And iligne < 1000
If InStr(1, Cells(iligne, 10).Value, ",") > 0 Then
ichar = InStr(1, Cells(iligne, 10).Value, ",")
sgauche = Trim(Left(Cells(iligne, 10).Value, ichar - 1))
sdroite = Trim(Right(Cells(iligne, 10).Value, Len(Cells(iligne, 10).Value) - ichar))
Rows(iligne + 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Rows(iligne).Select
Selection.Copy
Rows(iligne + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Cells(iligne, 10) = sgauche
Cells(iligne + 1, 10) = sdroite
End If
iligne = iligne + 1
Wend
End Sub
Pièces jointes
Dernière édition: