OVH Cloud OVH Cloud

Insertion et Suppression automatique suite et Fin ?

7 réponses
Avatar
eis
Bonjour à tous
En me basant sur le code d'Isabelle, encore merci, puis en supprimant les
espaces vides en début de code, merci AV,
+ quelques heures de tatonnement, je suis arrivé a mes fin. Redistribuer mes
données sur 8 colonnes maxi SUPER!
Grisé par ce succès! je cherche maintenant le moyen d'automatiser la macro
sans avoir à la relancer X fois pour arriver
à mes 8 colonnes maxi

merci à tous d'être là Yves


Dim i As Long
For i = Range("A65536").End(xlDown).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Rows(i).Insert Shift:=xlUp
Range(Cells(i + 1, 1), Cells(i + 1, 8)).Copy Destination:=Cells(i, 1)
Cells(i + 1, 8).Select
Cells(i + 1, 8).Delete Shift:=xlToLeft
End If
Next i
End Sub

7 réponses

Avatar
isabelle
bonjour Yves,

je cherche maintenant le moyen d'automatiser la macro
sans avoir à la relancer X fois pour arriver
à mes 8 colonnes maxi


je ne comprend pas ce que tu veux faire, peux tu donner un exemple,
merci !
isabelle


merci à tous d'être là Yves

Dim i As Long
For i = Range("A65536").End(xlDown).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Rows(i).Insert Shift:=xlUp
Range(Cells(i + 1, 1), Cells(i + 1, 8)).Copy Destination:Îlls (i, 1)
Cells(i + 1, 8).Select
Cells(i + 1, 8).Delete Shift:=xlToLeft
End If
Next i
End Sub


Avatar
eis
Bonjour Isabelle
Avec ta macro quand mon tableau contient 1 ligne de + de 8 colonnes mettons
12 par exemple
la macro me crée1 ligne suplémentaire et me ramène cette ligne à 11
colonnes et je dois la relancer
encore 3 fois pour obtenir autant de lignes supplémentairesmes 8 colonnes
Maxi. Je cherche un moyen
de balayer mon tableau et de relancer automatiquement la macro jusqu'à la
fin de mon tableau.
Je ne sais pas si j'ai été + clair...
Yves


"isabelle" a écrit dans le message de
news:
bonjour Yves,

je cherche maintenant le moyen d'automatiser la macro
sans avoir à la relancer X fois pour arriver
à mes 8 colonnes maxi


je ne comprend pas ce que tu veux faire, peux tu donner un exemple,
merci !
isabelle


merci à tous d'être là Yves

Dim i As Long
For i = Range("A65536").End(xlDown).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Rows(i).Insert Shift:=xlUp
Range(Cells(i + 1, 1), Cells(i + 1, 8)).Copy Destination:Îlls(i,
1)

Cells(i + 1, 8).Select
Cells(i + 1, 8).Delete Shift:=xlToLeft
End If
Next i
End Sub


Avatar
eis
Bonjour Frédéric et merci de te pencher sur mes petits problèmes

Voila mon tableau de départ (Tableau N°1) quand j'extrais la date du
07/04/2003
quand j'exécute ma Macro une 1ère fois j'obtiens le Tableau N°2
une 2ème fois j'obtiens le Tableau N°3
une 3ème fois j'obtiens le Tableau N°4
Je cherche à arriver au Tableau N°4 en une seule fois
avec ta macro j'obtiens le Tableau N°5 en une seule fois mais pas mon
Tableau N°4 SnifSnif!!
Bonjour à tous Yves
Tableau N°1
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°2
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°3
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°4
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND




Tableau N°5
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE CLAIRE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND


"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Malgré tes efforts pour expliquer ce que tu souhaites, et malgré une
relecture

des fils que tu as initiés, je ne suis pas certain d'avoir bien compris
ton

problème...
Cette proposition fera (peut-être ?) avancer le débat :

Sub test22()
Dim i As Long, Extra&

Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 8 + Extra - j).Value = _
Cells(i, 1).Resize(1, 8 + Extra - j).Value
Next
End If
Next i

End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour Isabelle
Avec ta macro quand mon tableau contient 1 ligne de + de 8 colonnes
mettons


12 par exemple
la macro me crée1 ligne suplémentaire et me ramène cette ligne à 11
colonnes et je dois la relancer
encore 3 fois pour obtenir autant de lignes supplémentairesmes 8
colonnes


Maxi. Je cherche un moyen
de balayer mon tableau et de relancer automatiquement la macro jusqu'à
la


fin de mon tableau.
Je ne sais pas si j'ai été + clair...
Yves

"isabelle" a écrit dans le message de
news:
bonjour Yves,

je cherche maintenant le moyen d'automatiser la macro
sans avoir à la relancer X fois pour arriver
à mes 8 colonnes maxi


je ne comprend pas ce que tu veux faire, peux tu donner un exemple,
merci !
isabelle

merci à tous d'être là Yves

Dim i As Long
For i = Range("A65536").End(xlDown).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Rows(i).Insert Shift:=xlUp
Range(Cells(i + 1, 1), Cells(i + 1, 8)).Copy
Destination:Îlls(i,



1)
Cells(i + 1, 8).Select
Cells(i + 1, 8).Delete Shift:=xlToLeft
End If
Next i
End Sub








Avatar
isabelle
voilà yves,

Sub test23()
Dim i As Long, Extra&
Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 7).Value = _
Cells(i, 1).Resize(1, 7).Value
Cells(i + j, 8) = Cells(i, 8 + j)
Next
End If
Next i
Columns("I:K").Delete
End Sub

et merci à Frédéric qui a fait le principal du travail

isabelle


Bonjour Frédéric et merci de te pencher sur mes petits problèmes

Voila mon tableau de départ (Tableau N°1) quand j'extrais la date d u
07/04/2003
quand j'exécute ma Macro une 1ère fois j'obtiens le Tableau N°2
une 2ème fois j'obtiens le Tableau N°3
une 3ème fois j'obtiens le Tableau N°4
Je cherche à arriver au Tableau N°4 en une seule fois
avec ta macro j'obtiens le Tableau N°5 en une seule fois mais pas mon
Tableau N°4 SnifSnif!!
Bonjour à tous Yves
Tableau N°1
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE CLAI RE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°2
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°3
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°4
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°5
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE CLAI RE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Malgré tes efforts pour expliquer ce que tu souhaites, et malgré une
relecture

des fils que tu as initiés, je ne suis pas certain d'avoir bien com pris
ton

problème...
Cette proposition fera (peut-être ?) avancer le débat :

Sub test22()
Dim i As Long, Extra&

Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 8 + Extra - j).Value = _
Cells(i, 1).Resize(1, 8 + Extra - j).Value
Next
End If
Next i

End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour Isabelle
Avec ta macro quand mon tableau contient 1 ligne de + de 8 colonnes
mettons


12 par exemple
la macro me crée1 ligne suplémentaire et me ramène cette lig ne à 11
colonnes et je dois la relancer
encore 3 fois pour obtenir autant de lignes supplémentairesmes 8
colonnes


Maxi. Je cherche un moyen
de balayer mon tableau et de relancer automatiquement la macro jusq u'à
la


fin de mon tableau.
Je ne sais pas si j'ai été + clair...
Yves

"isabelle" a écrit dans le mess age de
news:
bonjour Yves,

je cherche maintenant le moyen d'automatiser la macro
sans avoir à la relancer X fois pour arriver
à mes 8 colonnes maxi


je ne comprend pas ce que tu veux faire, peux tu donner un exemple,
merci !
isabelle

merci à tous d'être là Yves

Dim i As Long
For i = Range("A65536").End(xlDown).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Rows(i).Insert Shift:=xlUp
Range(Cells(i + 1, 1), Cells(i + 1, 8)).Copy
Destination:Îlls(i,



1)
Cells(i + 1, 8).Select
Cells(i + 1, 8).Delete Shift:=xlToLeft
End If
Next i
End Sub










Avatar
Frédéric Sigonneau
Salut Isabelle,

On va voir ce qu'en dit "eis" mais ta proposition ne doit pas être bien loin de
ce qu'il souhaite :)
Juste une petite modif à la fin, pour tenir compte du fait qu'on ne connait
peut-être pas forcément le nombre de colonnes à traiter :

Sub test24()
Dim i As Long, j&, Extra&
Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 7).Value = _
Cells(i, 1).Resize(1, 7).Value
Cells(i + j, 8).Value = Cells(i, 8 + j).Value
Next
End If
Next i
Range("H1")(, 2).Resize(, Extra).EntireColumn.ClearContents
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


voilà yves,

Sub test23()
Dim i As Long, Extra&
Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 7).Value = _
Cells(i, 1).Resize(1, 7).Value
Cells(i + j, 8) = Cells(i, 8 + j)
Next
End If
Next i
Columns("I:K").Delete
End Sub

et merci à Frédéric qui a fait le principal du travail

isabelle


Bonjour Frédéric et merci de te pencher sur mes petits problèmes

Voila mon tableau de départ (Tableau N°1) quand j'extrais la date du
07/04/2003
quand j'exécute ma Macro une 1ère fois j'obtiens le Tableau N°2
une 2ème fois j'obtiens le Tableau N°3
une 3ème fois j'obtiens le Tableau N°4
Je cherche à arriver au Tableau N°4 en une seule fois
avec ta macro j'obtiens le Tableau N°5 en une seule fois mais pas mon
Tableau N°4 SnifSnif!!
Bonjour à tous Yves
Tableau N°1
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°2
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°3
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°4
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°5
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE CLAIRE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Malgré tes efforts pour expliquer ce que tu souhaites, et malgré une
relecture

des fils que tu as initiés, je ne suis pas certain d'avoir bien compris
ton

problème...
Cette proposition fera (peut-être ?) avancer le débat :

Sub test22()
Dim i As Long, Extra&

Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 8 + Extra - j).Value = _
Cells(i, 1).Resize(1, 8 + Extra - j).Value
Next
End If
Next i

End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour Isabelle
Avec ta macro quand mon tableau contient 1 ligne de + de 8 colonnes
mettons


12 par exemple
la macro me crée1 ligne suplémentaire et me ramène cette ligne à 11
colonnes et je dois la relancer
encore 3 fois pour obtenir autant de lignes supplémentairesmes 8
colonnes


Maxi. Je cherche un moyen
de balayer mon tableau et de relancer automatiquement la macro jusqu'à
la


fin de mon tableau.
Je ne sais pas si j'ai été + clair...
Yves

"isabelle" a écrit dans le message de
news:
bonjour Yves,

je cherche maintenant le moyen d'automatiser la macro
sans avoir à la relancer X fois pour arriver
à mes 8 colonnes maxi


je ne comprend pas ce que tu veux faire, peux tu donner un exemple,
merci !
isabelle

merci à tous d'être là Yves

Dim i As Long
For i = Range("A65536").End(xlDown).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Rows(i).Insert Shift:=xlUp
Range(Cells(i + 1, 1), Cells(i + 1, 8)).Copy
Destination:Îlls(i,



1)
Cells(i + 1, 8).Select
Cells(i + 1, 8).Delete Shift:=xlToLeft
End If
Next i
End Sub












Avatar
eis
tous mes remerciements avec un peu décalage
yves
"isabelle" a écrit dans le message de
news:
;-) c'est tout bon, j'oubliais de traiter la dernière commande,
bisou
isabelle


Salut Isabelle,

On va voir ce qu'en dit "eis" mais ta proposition ne doit pas être bien
loin de

ce qu'il souhaite :)
Juste une petite modif à la fin, pour tenir compte du fait qu'on ne
connait

peut-être pas forcément le nombre de colonnes à traiter :

Sub test24()
Dim i As Long, j&, Extra&
Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 7).Value = _
Cells(i, 1).Resize(1, 7).Value
Cells(i + j, 8).Value = Cells(i, 8 + j).Value
Next
End If
Next i
Range("H1")(, 2).Resize(, Extra).EntireColumn.ClearContents
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


voilà yves,

Sub test23()
Dim i As Long, Extra&
Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 7).Value = _
Cells(i, 1).Resize(1, 7).Value
Cells(i + j, 8) = Cells(i, 8 + j)
Next
End If
Next i
Columns("I:K").Delete
End Sub

et merci à Frédéric qui a fait le principal du travail

isabelle


Bonjour Frédéric et merci de te pencher sur mes petits problèmes

Voila mon tableau de départ (Tableau N°1) quand j'extrais la date du
07/04/2003
quand j'exécute ma Macro une 1ère fois j'obtiens le Tableau N°2
une 2ème fois j'obtiens le Tableau N°3
une 3ème fois j'obtiens le Tableau N°4
Je cherche à arriver au Tableau N°4 en une seule fois
avec ta macro j'obtiens le Tableau N°5 en une seule fois mais pas mon
Tableau N°4 SnifSnif!!
Bonjour à tous Yves
Tableau N°1
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE
CLAIRE



07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°2
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°3
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°4
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°5
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE
CLAIRE



07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

"Frédéric Sigonneau" a écrit dans le
message



de news:
Bonsoir,

Malgré tes efforts pour expliquer ce que tu souhaites, et malgré une
relecture

des fils que tu as initiés, je ne suis pas certain d'avoir bien
compris




ton
problème...
Cette proposition fera (peut-être ?) avancer le débat :

Sub test22()
Dim i As Long, Extra&

Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 8 + Extra - j).Value = _
Cells(i, 1).Resize(1, 8 + Extra - j).Value
Next
End If
Next i

End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour Isabelle
Avec ta macro quand mon tableau contient 1 ligne de + de 8
colonnes





mettons
12 par exemple
la macro me crée1 ligne suplémentaire et me ramène cette ligne à
11





colonnes et je dois la relancer
encore 3 fois pour obtenir autant de lignes supplémentairesmes 8
colonnes


Maxi. Je cherche un moyen
de balayer mon tableau et de relancer automatiquement la macro
jusqu'à





la
fin de mon tableau.
Je ne sais pas si j'ai été + clair...
Yves

"isabelle" a écrit dans le
message de





news:
bonjour Yves,

je cherche maintenant le moyen d'automatiser la macro
sans avoir à la relancer X fois pour arriver
à mes 8 colonnes maxi


je ne comprend pas ce que tu veux faire, peux tu donner un
exemple,





merci !
isabelle

merci à tous d'être là Yves

Dim i As Long
For i = Range("A65536").End(xlDown).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Rows(i).Insert Shift:=xlUp
Range(Cells(i + 1, 1), Cells(i + 1, 8)).Copy
Destination:Îlls(i,



1)
Cells(i + 1, 8).Select
Cells(i + 1, 8).Delete Shift:=xlToLeft
End If
Next i
End Sub














Avatar
eis
Merci a tous les deux j'ai trouvé mon bonheur
yves
"Frédéric Sigonneau" a écrit dans le message
de news:
Salut Isabelle,

On va voir ce qu'en dit "eis" mais ta proposition ne doit pas être bien
loin de

ce qu'il souhaite :)
Juste une petite modif à la fin, pour tenir compte du fait qu'on ne
connait

peut-être pas forcément le nombre de colonnes à traiter :

Sub test24()
Dim i As Long, j&, Extra&
Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 7).Value = _
Cells(i, 1).Resize(1, 7).Value
Cells(i + j, 8).Value = Cells(i, 8 + j).Value
Next
End If
Next i
Range("H1")(, 2).Resize(, Extra).EntireColumn.ClearContents
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


voilà yves,

Sub test23()
Dim i As Long, Extra&
Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 7).Value = _
Cells(i, 1).Resize(1, 7).Value
Cells(i + j, 8) = Cells(i, 8 + j)
Next
End If
Next i
Columns("I:K").Delete
End Sub

et merci à Frédéric qui a fait le principal du travail

isabelle


Bonjour Frédéric et merci de te pencher sur mes petits problèmes

Voila mon tableau de départ (Tableau N°1) quand j'extrais la date du
07/04/2003
quand j'exécute ma Macro une 1ère fois j'obtiens le Tableau N°2
une 2ème fois j'obtiens le Tableau N°3
une 3ème fois j'obtiens le Tableau N°4
Je cherche à arriver au Tableau N°4 en une seule fois
avec ta macro j'obtiens le Tableau N°5 en une seule fois mais pas mon
Tableau N°4 SnifSnif!!
Bonjour à tous Yves
Tableau N°1
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE
CLAIRE



07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°2
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°3
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°4
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 CLAIRE
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

Tableau N°5
07/04/2003 M&L 229 2 FR ANGERS 1 MARC
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE
CLAIRE



07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN ISABELLE
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC ALAIN
07/04/2003 H&S 222 3 HG CRUSEILLES 10 LOÏC
07/04/2003 S&M 255 6 LK MELUN 74807 FLO
07/04/2003 H&R 248 5 JT MULHOUSE 74106 BERTRAND

"Frédéric Sigonneau" a écrit dans le
message



de news:
Bonsoir,

Malgré tes efforts pour expliquer ce que tu souhaites, et malgré une
relecture

des fils que tu as initiés, je ne suis pas certain d'avoir bien
compris




ton
problème...
Cette proposition fera (peut-être ?) avancer le débat :

Sub test22()
Dim i As Long, Extra&

Application.ScreenUpdating = False
For i = Range("H65536").End(xlUp).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Extra = Cells(i, 256).End(xlToLeft).Column - 8
For j = 1 To Extra
Rows(i + j).Insert
Cells(i + j, 1).Resize(1, 8 + Extra - j).Value = _
Cells(i, 1).Resize(1, 8 + Extra - j).Value
Next
End If
Next i

End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour Isabelle
Avec ta macro quand mon tableau contient 1 ligne de + de 8
colonnes





mettons
12 par exemple
la macro me crée1 ligne suplémentaire et me ramène cette ligne à
11





colonnes et je dois la relancer
encore 3 fois pour obtenir autant de lignes supplémentairesmes 8
colonnes


Maxi. Je cherche un moyen
de balayer mon tableau et de relancer automatiquement la macro
jusqu'à





la
fin de mon tableau.
Je ne sais pas si j'ai été + clair...
Yves

"isabelle" a écrit dans le
message de





news:
bonjour Yves,

je cherche maintenant le moyen d'automatiser la macro
sans avoir à la relancer X fois pour arriver
à mes 8 colonnes maxi


je ne comprend pas ce que tu veux faire, peux tu donner un
exemple,





merci !
isabelle

merci à tous d'être là Yves

Dim i As Long
For i = Range("A65536").End(xlDown).Row To 1 Step -1
If Cells(i, 9).Value <> Empty Then
Rows(i).Insert Shift:=xlUp
Range(Cells(i + 1, 1), Cells(i + 1, 8)).Copy
Destination:Îlls(i,



1)
Cells(i + 1, 8).Select
Cells(i + 1, 8).Delete Shift:=xlToLeft
End If
Next i
End Sub