Sauter des lignes au sein d une liste Excel

Résolu
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010 - 22 mai 2008 à 00:37
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010 - 23 mai 2008 à 21:33
Bonjour,

Je souhaiterais faire sauter une ligne entre chaque valeur contenue dans une colonne dans Excel (depuis VB6 s il n y a pas un moyen plus simple).Il ne met pas possible de le faire a la main etant donne que j ai plus de 800 valeurs dans ma colonne...

Par exemple:
1
2
3

J aimerais obtenir:
1

2

3

Merci d'avance

7 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 mai 2008 à 03:27
salut,

Option Explicit

Sub insertline()
Dim i As Integer

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

For i = Range("A65536").End(xlUp).Row To 1 Step -1
    ' change A ^^ suivant la
colonne à traiter
    
    ' si tu veux insérer
une ligne complête :
    Rows(i).Insert (xlDown)
    
    ' si tu veux insérer une ligne seulement sous la
cellule _
      sans
affecter les autres colonnes :
    Range("A" & i).Insert (xlDown)
Next i

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub
~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
3
xaeris Messages postés 109 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 22 mai 2009
22 mai 2008 à 10:18
Salut,
Tu n'a meme pas besoin de le réaliser depuis vb6.

Le code de mortalino me semble tout a fait correct, tu l'integre a une macro de ton classeru et tu lances ta macro, ca devrait suffire...

outil--> macro--> Macro ( ou faire alt + f8 )


-xaeris-
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 mai 2008 à 20:28
Range(
"A" 
& i &


":C"


& i).Insert (xlDown)




@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 mai 2008 à 01:27
Salut
"dans Excel (depuis VB6)" ne suffit pas à comprendre dans quel environnement tu es.
Précise nous comment tu obtiens ces valeur et surtout dans quoi (quel objet) tu les écris.

Par hasard, sous VB6, pour ajouter un saut de ligne, il suffit d'insérer un vbCrLf à l'endroit opportun.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010
22 mai 2008 à 19:18
Pour repondre a Jack,  en fait je travaille sous Excel, j ai obtenu ces valeurs en remplissant la colonne manuellement et je souhaitais juste savoir s il etait possible de faire un "saut de ligne" entre des valeurs entrees dans une colonne de facon simple (sans code) ou au pire avec du code.

Dans tous les cas merci à tous (particulierement à Mortalino)

Gegeleblond
0
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010
22 mai 2008 à 20:24
Rebonjour à tous,

Et si maintenant je voulais appliquer ca à une zone en particulier par exemple dans A1:C10...
J ai essaye de modifier cette partie :
   ' si tu veux insérer une ligne seulement sous la cellule _
      sans affecter les autres colonnes :
    Range("A" & i).Insert (xlDown)

en vain...
0
cs_Gegeleblond Messages postés 41 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 2 août 2010
23 mai 2008 à 21:33
Merci mais comment tu fais si tu ne veux le faire que dans une zonne bien limite ? Car ce que tu m ecris ca va l appliquer a toutes les colonnes entre A et C. Et ce que je souhaiterais c est que pour une zone par exemple B5:G10.
Et si je veux annuler ce que j ai fait? J ai essaye de faire un  Range("A" & i).Delete(xlDown) sans succes.
0
Rejoignez-nous