Répéter une action n fois

  • Initiateur de la discussion Initiateur de la discussion HelloDy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 😎
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

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+
 
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 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
3 K
Retour