Insérer plusieurs lignes avec une macro [Fermé]

Signaler
Messages postés
8
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
17 octobre 2008
-
 Thorgal28 -
Bonjour, quelqu'un pourrait-il m'aider !
je voudrais inserer 10 lignes en une seule fois à l'aide d'une macro
cette macro insere une seule ligne mais comment lui faire comprendre qu'il m'en faut 10 sans avoir a répéter cette macro 10 fois

Rows("5:5").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove


Merci d'avance
Configuration: Windows XP
Internet Explorer 7.0

2 réponses

Messages postés
23484
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
14 septembre 2020
6 344
Bonsoir,

En lui désignant la plage, et le .select est inutile :
Rows("5:14").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ou même encore plus court si c'est les valeurs par défaut :
Rows("5:14").Insert

eric
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60664 internautes nous ont dit merci ce mois-ci

Messages postés
48
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
17 août 2009
3
Hello Eriiic,

La simplicité... Y a pas mieux...

Merci
Bonjour Anksuamon,

Je confirme que la solution "simple" d'Eriic fonctionne bien.

Sub insertion_10_lignes()

'Insertion de 10 lignes à partir de la ligne 5
Rows("5:15").Insert 'Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
MsgBox "Insertion de 10 lignes terminée!", vbInformation

End Sub

Note:
Attention toutefois à ne pas conserver vos données au format "Tableau" Excel (j'avais ce problème au départ!).
Si c'est le cas, reconvertissez vos vos données au format normal: Menu Excel>Design>Convert to Range
Puis re-exécutez la macro "insertion_10_lignes".
Messages postés
48
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
17 août 2009
3
Salut,

A ma connaissance il n'y a que l'utilisation d'une boucle.

Dim iCpt As Integer
For iCpt = 0 To 10
Rows("5:5").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next iCpt

Si quelqu'un a autre chose, je suis preneur.