bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Salut plein_de_consonnes
voici ma proposition
Sub mamacro()
Dim i, j As Integer
i = 2
Do Until Range("A" & i) = ""
For j = 1 To 5
Rows(i & ":" & i).Insert Shift:=xlDown
Next j
i = i + 6
Loop
End Sub
ca te va?
bonne journée
Célinebonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Salut plein_de_consonnes
voici ma proposition
Sub mamacro()
Dim i, j As Integer
i = 2
Do Until Range("A" & i) = ""
For j = 1 To 5
Rows(i & ":" & i).Insert Shift:=xlDown
Next j
i = i + 6
Loop
End Sub
ca te va?
bonne journée
Céline
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Salut plein_de_consonnes
voici ma proposition
Sub mamacro()
Dim i, j As Integer
i = 2
Do Until Range("A" & i) = ""
For j = 1 To 5
Rows(i & ":" & i).Insert Shift:=xlDown
Next j
i = i + 6
Loop
End Sub
ca te va?
bonne journée
Célinebonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Salut plein_de_consonnes
voici ma proposition
Sub mamacro()
Dim i, j As Integer
i = 2
Do Until Range("A" & i) = ""
For j = 1 To 5
Rows(i & ":" & i).Insert Shift:=xlDown
Next j
i = i + 6
Loop
End Sub
ca te va?
bonne journée
Célinebonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Salut plein_de_consonnes
voici ma proposition
Sub mamacro()
Dim i, j As Integer
i = 2
Do Until Range("A" & i) = ""
For j = 1 To 5
Rows(i & ":" & i).Insert Shift:=xlDown
Next j
i = i + 6
Loop
End Sub
ca te va?
bonne journée
Céline
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Salut plein_de_consonnes
voici ma proposition
Sub mamacro()
Dim i, j As Integer
i = 2
Do Until Range("A" & i) = ""
For j = 1 To 5
Rows(i & ":" & i).Insert Shift:=xlDown
Next j
i = i + 6
Loop
End Sub
ca te va?
bonne journée
Célinebonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Bonjour,
Range("A65000").End(xlUp).Select
For i = 1 To Selection.CurrentRegion.Rows.Count - 1
ActiveCell.Resize(5, 1).EntireRow.Insert
ActiveCell.Offset(-1, 0).Select
Next
Cordialement JBbonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Bonjour,
Range("A65000").End(xlUp).Select
For i = 1 To Selection.CurrentRegion.Rows.Count - 1
ActiveCell.Resize(5, 1).EntireRow.Insert
ActiveCell.Offset(-1, 0).Select
Next
Cordialement JB
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Bonjour,
Range("A65000").End(xlUp).Select
For i = 1 To Selection.CurrentRegion.Rows.Count - 1
ActiveCell.Resize(5, 1).EntireRow.Insert
ActiveCell.Offset(-1, 0).Select
Next
Cordialement JBbonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Il y a aussi ceci :
Dans un module standard en adaptant le nom de la feuille.
'------------------------
Sub InserreLignes()
Dim derlig As Long, A As Long
Application.ScreenUpdating = False
With Feuil1
derlig = .Cells.Find(What:="*", After:=[A1], LookIn:=xlFormul as, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
A = 2
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
A = A + 6
derlig = derlig + 5
Loop
End With
End Sub
'------------------------
"tdclb" a écrit dans le message de news:
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Il y a aussi ceci :
Dans un module standard en adaptant le nom de la feuille.
'------------------------
Sub InserreLignes()
Dim derlig As Long, A As Long
Application.ScreenUpdating = False
With Feuil1
derlig = .Cells.Find(What:="*", After:=[A1], LookIn:=xlFormul as, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
A = 2
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
A = A + 6
derlig = derlig + 5
Loop
End With
End Sub
'------------------------
"tdclb" <tdclb@yahoo.com> a écrit dans le message de news:
1159867095.003527.246900@b28g2000cwb.googlegroups.com...
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Il y a aussi ceci :
Dans un module standard en adaptant le nom de la feuille.
'------------------------
Sub InserreLignes()
Dim derlig As Long, A As Long
Application.ScreenUpdating = False
With Feuil1
derlig = .Cells.Find(What:="*", After:=[A1], LookIn:=xlFormul as, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
A = 2
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
A = A + 6
derlig = derlig + 5
Loop
End With
End Sub
'------------------------
"tdclb" a écrit dans le message de news:
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Il y a aussi ceci :
Dans un module standard en adaptant le nom de la feuille.
'------------------------
Sub InserreLignes()
Dim derlig As Long, A As Long
Application.ScreenUpdating = False
With Feuil1
derlig = .Cells.Find(What:="*", After:=[A1], LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
A = 2
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
A = A + 6
derlig = derlig + 5
Loop
End With
End Sub
'------------------------
"tdclb" a écrit dans le message de news:
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Il y a aussi ceci :
Dans un module standard en adaptant le nom de la feuille.
'------------------------
Sub InserreLignes()
Dim derlig As Long, A As Long
Application.ScreenUpdating = False
With Feuil1
derlig = .Cells.Find(What:="*", After:=[A1], LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
A = 2
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
A = A + 6
derlig = derlig + 5
Loop
End With
End Sub
'------------------------
"tdclb" <tdclb@yahoo.com> a écrit dans le message de news:
1159867095.003527.246900@b28g2000cwb.googlegroups.com...
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Il y a aussi ceci :
Dans un module standard en adaptant le nom de la feuille.
'------------------------
Sub InserreLignes()
Dim derlig As Long, A As Long
Application.ScreenUpdating = False
With Feuil1
derlig = .Cells.Find(What:="*", After:=[A1], LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
A = 2
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
A = A + 6
derlig = derlig + 5
Loop
End With
End Sub
'------------------------
"tdclb" a écrit dans le message de news:
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Voici quelques explications sur la macro présentée :
| toujours avide de connaissance j'aimerais comprendre le fonctionnement
| .Cells(A, 1).Resize(5).EntireRow.Insert
La méthode utilisée dans la procédure à l'avantage de ne pas
appeler la méthode "Select".
Cells(A,1).EntireRow.Insert
Cette commande insérerait seulement 1 ligne entière
.Cells(A, 1).Resize(5)
Cette commande redimenstionne la plage si A égalait 1
nous aurions la plage Range("A1:A5")
Le 5 de la méthode resize inclus la ligne de départ et ajoute
4 autres lignes à la sélection.
La méthode Insert va ajouter autant de ligne qu'il y a de lignes
dans la plage désignée. dans cet exemple 5 lignes
en conséquence, la ligne de code
.Cells(A, 1).Resize(5).EntireRow.Insert
Insère 5 lignes juste avant la ligne 2 si A = 2
et ceci pour toutes la boucle.
J'utilise un boucle Do While ... Loop
A = 2 -> Première insertion juste avant la ligne 2
DerLig = Dernière ligne utilisée dans la feuille
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
'A = Numéro de la ligne -> incrémentation de 6
'puisqu'il insère "Avant"
A = A + 6
'Comme à chaque boucle, il insère 5 lignes
'on doit adapter la dernière ligne de 5 après
'chaque insertion.
derlig = derlig + 5
Loop
Pour pouvoir l'utiliser
Plus précisémment, comment fonctionne resize(5) par rapport à insert
(je n'ai pas bien saisi l'aide d'excel sur le sujet)
En pratique j'aimerais adapter cela à mon travail
J'ai un compteur
Quantite_LigneS
il recoit :
Quantite_LigneS = Selection.Rows.Count
selon sa valeur il est réaffecté; disons qu'il valait 71 puis est
réaffecté à 99
J'aimerais remplacer : (1)
For j = 1 To Quantite_LigneS
Rows(Range(Adresse_Cellule_Copie).Row & ":" &
Range(Adresse_Cellule_Copie).Row).Insert Shift:=xlDown
Next j
Par : (2)
Range(Adrese_Cellule_Copie).Resize(Quantite_LigneS).EntireRow.Insert
xlShiftDown
Or l'expérience montre que
(1) m'insère bien 99 lignes
tandis que (2) ne m'en insère que 71
Mais pourquoi donc-t-il ?
Fichtre
Merci de vos explications sur ce problème,
bonne fin de journée
CélineIl y a aussi ceci :
Dans un module standard en adaptant le nom de la feuille.
'------------------------
Sub InserreLignes()
Dim derlig As Long, A As Long
Application.ScreenUpdating = False
With Feuil1
derlig = .Cells.Find(What:="*", After:=[A1], LookIn:=xlForm ulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
A = 2
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
A = A + 6
derlig = derlig + 5
Loop
End With
End Sub
'------------------------
"tdclb" a écrit dans le message de news:
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Voici quelques explications sur la macro présentée :
| toujours avide de connaissance j'aimerais comprendre le fonctionnement
| .Cells(A, 1).Resize(5).EntireRow.Insert
La méthode utilisée dans la procédure à l'avantage de ne pas
appeler la méthode "Select".
Cells(A,1).EntireRow.Insert
Cette commande insérerait seulement 1 ligne entière
.Cells(A, 1).Resize(5)
Cette commande redimenstionne la plage si A égalait 1
nous aurions la plage Range("A1:A5")
Le 5 de la méthode resize inclus la ligne de départ et ajoute
4 autres lignes à la sélection.
La méthode Insert va ajouter autant de ligne qu'il y a de lignes
dans la plage désignée. dans cet exemple 5 lignes
en conséquence, la ligne de code
.Cells(A, 1).Resize(5).EntireRow.Insert
Insère 5 lignes juste avant la ligne 2 si A = 2
et ceci pour toutes la boucle.
J'utilise un boucle Do While ... Loop
A = 2 -> Première insertion juste avant la ligne 2
DerLig = Dernière ligne utilisée dans la feuille
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
'A = Numéro de la ligne -> incrémentation de 6
'puisqu'il insère "Avant"
A = A + 6
'Comme à chaque boucle, il insère 5 lignes
'on doit adapter la dernière ligne de 5 après
'chaque insertion.
derlig = derlig + 5
Loop
Pour pouvoir l'utiliser
Plus précisémment, comment fonctionne resize(5) par rapport à insert
(je n'ai pas bien saisi l'aide d'excel sur le sujet)
En pratique j'aimerais adapter cela à mon travail
J'ai un compteur
Quantite_LigneS
il recoit :
Quantite_LigneS = Selection.Rows.Count
selon sa valeur il est réaffecté; disons qu'il valait 71 puis est
réaffecté à 99
J'aimerais remplacer : (1)
For j = 1 To Quantite_LigneS
Rows(Range(Adresse_Cellule_Copie).Row & ":" &
Range(Adresse_Cellule_Copie).Row).Insert Shift:=xlDown
Next j
Par : (2)
Range(Adrese_Cellule_Copie).Resize(Quantite_LigneS).EntireRow.Insert
xlShiftDown
Or l'expérience montre que
(1) m'insère bien 99 lignes
tandis que (2) ne m'en insère que 71
Mais pourquoi donc-t-il ?
Fichtre
Merci de vos explications sur ce problème,
bonne fin de journée
Céline
Il y a aussi ceci :
Dans un module standard en adaptant le nom de la feuille.
'------------------------
Sub InserreLignes()
Dim derlig As Long, A As Long
Application.ScreenUpdating = False
With Feuil1
derlig = .Cells.Find(What:="*", After:=[A1], LookIn:=xlForm ulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
A = 2
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
A = A + 6
derlig = derlig + 5
Loop
End With
End Sub
'------------------------
"tdclb" <tdclb@yahoo.com> a écrit dans le message de news:
1159867095.003527.246900@b28g2000cwb.googlegroups.com...
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
Voici quelques explications sur la macro présentée :
| toujours avide de connaissance j'aimerais comprendre le fonctionnement
| .Cells(A, 1).Resize(5).EntireRow.Insert
La méthode utilisée dans la procédure à l'avantage de ne pas
appeler la méthode "Select".
Cells(A,1).EntireRow.Insert
Cette commande insérerait seulement 1 ligne entière
.Cells(A, 1).Resize(5)
Cette commande redimenstionne la plage si A égalait 1
nous aurions la plage Range("A1:A5")
Le 5 de la méthode resize inclus la ligne de départ et ajoute
4 autres lignes à la sélection.
La méthode Insert va ajouter autant de ligne qu'il y a de lignes
dans la plage désignée. dans cet exemple 5 lignes
en conséquence, la ligne de code
.Cells(A, 1).Resize(5).EntireRow.Insert
Insère 5 lignes juste avant la ligne 2 si A = 2
et ceci pour toutes la boucle.
J'utilise un boucle Do While ... Loop
A = 2 -> Première insertion juste avant la ligne 2
DerLig = Dernière ligne utilisée dans la feuille
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
'A = Numéro de la ligne -> incrémentation de 6
'puisqu'il insère "Avant"
A = A + 6
'Comme à chaque boucle, il insère 5 lignes
'on doit adapter la dernière ligne de 5 après
'chaque insertion.
derlig = derlig + 5
Loop
Pour pouvoir l'utiliser
Plus précisémment, comment fonctionne resize(5) par rapport à insert
(je n'ai pas bien saisi l'aide d'excel sur le sujet)
En pratique j'aimerais adapter cela à mon travail
J'ai un compteur
Quantite_LigneS
il recoit :
Quantite_LigneS = Selection.Rows.Count
selon sa valeur il est réaffecté; disons qu'il valait 71 puis est
réaffecté à 99
J'aimerais remplacer : (1)
For j = 1 To Quantite_LigneS
Rows(Range(Adresse_Cellule_Copie).Row & ":" &
Range(Adresse_Cellule_Copie).Row).Insert Shift:=xlDown
Next j
Par : (2)
Range(Adrese_Cellule_Copie).Resize(Quantite_LigneS).EntireRow.Insert
xlShiftDown
Or l'expérience montre que
(1) m'insère bien 99 lignes
tandis que (2) ne m'en insère que 71
Mais pourquoi donc-t-il ?
Fichtre
Merci de vos explications sur ce problème,
bonne fin de journée
CélineIl y a aussi ceci :
Dans un module standard en adaptant le nom de la feuille.
'------------------------
Sub InserreLignes()
Dim derlig As Long, A As Long
Application.ScreenUpdating = False
With Feuil1
derlig = .Cells.Find(What:="*", After:=[A1], LookIn:=xlForm ulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
A = 2
Do While A <= derlig
.Cells(A, 1).Resize(5).EntireRow.Insert
A = A + 6
derlig = derlig + 5
Loop
End With
End Sub
'------------------------
"tdclb" a écrit dans le message de news:
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
effectivement, comme ça, ça fait moins bidouillage...
:pBonjour,
Range("A65000").End(xlUp).Select
For i = 1 To Selection.CurrentRegion.Rows.Count - 1
ActiveCell.Resize(5, 1).EntireRow.Insert
ActiveCell.Offset(-1, 0).Select
Next
Cordialement JBbonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
effectivement, comme ça, ça fait moins bidouillage...
:p
Bonjour,
Range("A65000").End(xlUp).Select
For i = 1 To Selection.CurrentRegion.Rows.Count - 1
ActiveCell.Resize(5, 1).EntireRow.Insert
ActiveCell.Offset(-1, 0).Select
Next
Cordialement JB
bonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal
effectivement, comme ça, ça fait moins bidouillage...
:pBonjour,
Range("A65000").End(xlUp).Select
For i = 1 To Selection.CurrentRegion.Rows.Count - 1
ActiveCell.Resize(5, 1).EntireRow.Insert
ActiveCell.Offset(-1, 0).Select
Next
Cordialement JBbonjour
j'ai un fichier excel avec 100 lignes, et je voudrais sauter 5 lignes
(qui seront vides) à chaque ligne... de façon automatiqés, pour
m'éviter de faire 500 fois : insérer, lignes.
en gros j'ai :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
et je voudrais :
XXXXXX
XXXXXX
XXXXXX
XXXXXX
est ce que quelqu'un pourrait me prêter main forte ?
merci d'avance
pascal