Insérer des lignes vides entre chaque valeur d'une plage

Amilo

XLDnaute Accro
Bonjour le forum,


Je reprends le fichier de mon précédent fil pour lequel Cisco et Modeste m'avait si bien aidé,

J'ai adapté leur formule à mon nouveau cas car je souhaite à présent insérer 12 lignes vides entre chaque valeur à compter de la plage A5,

J'imagine que le VBA serait plus approprié qu'une formule mais je ne sais pas comment faire dans les 2 cas,

Merci d'avance pour votre aide

Cordialement
 

Pièces jointes

  • transposer.xlsm
    10.4 KB · Affichages: 26
  • transposer.xlsm
    10.4 KB · Affichages: 34
  • transposer.xlsm
    10.4 KB · Affichages: 29

Staple1600

XLDnaute Barbatruc
Re : Insérer des lignes vides entre chaque valeur d'une plage

Bonjour à tous


Amilo
Question: tu as fait des recherches dans les archives du forum avant de poser ta question ?

Sinon pour ta question, voici une possibilité de macro
Code:
Sub Insertion12Lignes()
Dim nbl&, r As Range
nbl = InputBox("Saisir le nombre de lignes à insérer:", "INSERTION LINES", 12)
Set r = Range("A5")
Do
Range(r.Offset(1), r.Offset(nbl)).EntireRow.Insert
Set r = Cells(r.Row + nbl + 1, 1)
If r.Offset(1, 0) = "" Then Exit Do
Loop
End Sub
 

Amilo

XLDnaute Accro
Re : Insérer des lignes vides entre chaque valeur d'une plage

Bonjour Staple1600,

Merci beaucoup pour votre réponse, ça fonctionne très bien, c'est encore mieux avec l'inputBox pour indiquer le nombre de lignes,

Pour répondre à votre réponse, oui j'avais recherché avant de poster,

je m'étais surtout penché sur un des codes qui me paraissait le plus simple dont vous êtes l'auteur (sujet posté par david2reims en 2008) :

Mes différentes tentatives sont restées sans succès malgré le code qui ne m'a pas l'air très compliqué

Sub insert_trois()
Dim i As Long
For i = [A65536].End(xlUp).Row To 12 Step -1
Cells(i, 1).Offset(1, 0).EntireRow.insert
Cells(i + 1, 1).Offset(1, 0).EntireRow.insert
Next
End Sub

Merci beaucoup pour votre aide

Bonne journée
 

Staple1600

XLDnaute Barbatruc
Re : Insérer des lignes vides entre chaque valeur d'une plage

Re

Amilo
Vos essais vous-ont ils menés jusqu'à ces modifs ?)
Code:
Sub insert_douze()
Dim i As Long
For i = [A65536].End(xlUp).Row To 5 Step -1
Cells(i, 1).Offset(1).Resize(12).EntireRow.Insert
Next
End Sub
Mais comme vous je préfère la version avec l'inputbox ;)

PS:
Pourquoi ne pas avoir cité le fil de 2008 et posté le code sur lequel vous faisiez vos essais dans votre premier message ?
Cela m'aurait évité de poser ma question et vous d'y répondre ;)
 

Amilo

XLDnaute Accro
Re : Insérer des lignes vides entre chaque valeur d'une plage

Re,

Merci Staple1600 pour votre nouvelle réponse, je comprends mieux où j'ai failli dans mes tentatives :

Il me manquait la méthode Resize(12) en rouge dans la ligne ci-dessous, sinon j'avais bien modifié le reste et même mis sous commentaire une des 2 lignes qui me semblait de trop à savoir 'Cells(i, 1).Offset(1, 0).EntireRow.insert :

Cells(i, 1).Offset(1).Resize(12).EntireRow.Insert


Merci encore
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 445
Membres
103 213
dernier inscrit
Poupoule