Répéter une action n fois

HelloDy

XLDnaute Junior
Bonjour le forum :)

J'ai des gros tableaux moches à rendre plus jolis et j'aimerais automatiser le processus.
Il faut que je les sépare en "blocs"

J'ai fait un petit truc comme ça :
VB:
'Se rendre au bloc suivant
  Range("A6").Select
  Selection.End(xlDown).Select
   
'Sélectionner la ligne active + insérer 1 ligne
  Rows(ActiveCell.Row).Select
  Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
   
'Se rendre au bloc suivant
  Selection.End(xlDown).Select
  Selection.End(xlDown).Select
   
'Sélectionner la ligne active + insérer 1 ligne
  Rows(ActiveCell.Row).Select
  Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
etc etc...

Oui vous moquez pas c'est tout pourri n'empêche que ça fonctionne :cool:
Mais le problème c'est que parfois il faut répéter ce processus 3 fois, parfois 10, parfois 15, bref, "n" fois.
Et ça je sais pas comment le dire à Excel (qu'il faut qu'il s'arrête une fois qu'on est arrivé au bout du tableau).

Est-ce que quelqu'un peut m'expliquer comment compter le nombre de répétitions nécessaires ainsi que comment écrire une boucle qui se répétera n fois ?

Je joins le fichier incriminé si ça peut aider.

Merci tout plein !


Elo
 

Pièces jointes

  • Tableau moche.xlsx
    11.6 KB · Affichages: 37

job75

XLDnaute Barbatruc
Bonjour HelloDy, Pierre,

On peut aussi s'appuyer sur les bordures pour fusionner les cellules :
Code:
Sub Fusion()
Dim debut As Range, i&
With ActiveSheet.UsedRange
    Set debut = .Cells(1)
    For i = 1 To .Rows.Count
        If .Cells(i, 1).Borders(xlEdgeBottom).LineStyle <> xlNone Then
            Range(debut, .Cells(i, 1)).Merge
            Set debut = .Cells(i + 1, 1)
        End If
    Next
End With
End Sub
Noter qu'ici la macro peut être lancée une autre fois sans inconvénient.

A+
 

HelloDy

XLDnaute Junior
Ben... non... Sans l'avoir appris quelque part (comme ici) comment connaître le "terme" CStr ? C'est pourquoi les gens de ce forum sont d'une aide inestimable pour nous, pauvres néophytes ^^

En tout cas merci beaucoup pour cette réponse, je vais tester ça :)
 

Discussions similaires

Statistiques des forums

Discussions
312 213
Messages
2 086 302
Membres
103 174
dernier inscrit
OBUTT