Insertion de ligne dans un tableau variable

cri732

XLDnaute Nouveau
Bonjour tout le monde,

Je voudrais tout d'abord m'excuser si toutefois ce sujet a déjà été abordé, auquel cas, c'est que je ne l'aurais pas vu.

Voici mon problème : Je voudrais mettre en forme un tableau en insérant des lignes chaque fois que 2 cellules consécutives dans la colonne C sont différentes.

Mes contraintes : Le tableau n'a pas toujours le même nombre de lignes, voir en fait jamais (sauf coup de chance).

Dans l'exemple que j'ai joint, la macro fonctionne bien, puisque C2 et C3 sont égales.
Elle insére bien une ligne entre C3 et C4 puisqu'elles ne sont pas égales.
Mais ensuite, elle continue à insérer des lignes entre C3 et C4 alors que je voudrais qu'elle continue à balayer le tableau.

J'ai essayé plusieurs choses, notamment celle qui est écrit dans le VBA, c'est à dire partir de la dernière cellule de la colonne C et de remontée jusqu'à la dernière ligne pleine.

J'espère que je suis clair dans mes explications, sinon, n'hésitez pas à me demander des renseignements supplémentaires.

Merci par avance pour votre aide.
 

Pièces jointes

  • Mise en forme tableau test.xls
    28 KB · Affichages: 31

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Insertion de ligne dans un tableau variable

Bonjour cri732 et bienvenu :)

Essayer le code suivant:
VB:
Sub MiseEnForme()
Dim i As Long
  Application.ScreenUpdating = False
  i = 3
  'Insérer des lignes entre chaque nouvel article
  Do
    If Cells(i, 3) = Cells(i - 1, 3) Then
      i = i + 1
    Else
      Rows(i).Insert
      i = i + 2
    End If
  Loop Until Cells(i, 3) = ""
End Sub
 

Pièces jointes

  • Insertion de ligne dans un tableau variable v1.xls
    32.5 KB · Affichages: 37

cri732

XLDnaute Nouveau
Re : Insertion de ligne dans un tableau variable

Bonjour mapomme,

Je viens d'essayer et je te remercie beaucoup car ça marche.
Voilà un peu plus de 2 semaines que j'étais sur la macro à essayer de la faire fonctionner.
Encore merci beaucoup.
A bientôt.
 

Discussions similaires