Inserer cellule avec boucle VBA excel 2007

Fermé
apprenti637 - 10 avril 2011 à 19:09
 fdsgfdsgdfs - 2 avril 2018 à 22:45
Bonjour,

Je souhaite inserer automatiquement une cellule vide entre deux cellules d'une meme colonne sous Excel 2007 et cela pour l'ensemble de la colonne.

ex, si j'ai:

A
1 xxx
2 yyy
3 zzz
4
5
.
.
8800


je souhaite obtenir:

A
1 xxx
2
3 yyy
4
5 zzz
.
.
8800


J'ai compris qu'une boucle for en VBA pourrait certainement me rendre service,

For i = 2 To 8000 Step 6
Range("A1:A8800").Select
Selection.Copy
Cells([i], [1]).Select
Selection.Insert Shift:=xlDown
Next i

Je ne suis pas familier avec cette programmation, malgré mes efforts cela reste infructueux.

Quelqu'un peut il m'aider?

Merci!



Gui

2 réponses

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 10/04/2011 à 21:00
bonjour

une solution en VBA, à choisir selon que tu veux insérer une seule cellule ou une ligne entière

Const lideb = 1 
Dim lifin 
lifin = Range("A65536").End(xlUp).Row  
For li = lideb To (2 * lifin) Step 2 
   ' pour inserer une seule cellule 
    Cells(li + 1, 1).Insert Shift:=xlDown 
   ' pour inserer une ligne complète  
   ' Cells(li + 1, 1).EntireRow.Insert 
Next li


sans VBA
Pour obtenir une copie de la colonne A en colonne B avec une cellule vide sur deux
B1 =SI(MOD(LIGNE();2) = 1;DECALER($A$1;(1+LIGNE())/2-1;0;1;1);"")
à tirer vers le bas

bonne suite
1
j'ai une question.......je veux chaque fois transférer le contenu de la cellule A1 au cellule B1 en conservant l'historique dans la cellule B1 et ajouter une nouvelle ligne dand la cellule B1 pour le nouveu texte de la cellule A1
0
Super, ça marche.

Merci beaucoup!

Gui
0