Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

MACRO LOOP + Insertion d'une ligne vierge

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 !

steugeu

XLDnaute Nouveau
Bonjour à toutes et à tous, je me présente je m'appelle Cyril.
Voici ma question :
Dans la feuil1 colonne A j'ai :

A1 : B500
A2 : B500
A3 : B500
A4 : B600
A5 : B600

etc...etc....

Je souhaite créer une macro qui controle chaque ligne et a partir du moment où il voit que la cellule est différente de celle du dessus, il insère 1 ligne vierge. (en gros ça serait pour que la présentation soit plus belle)
au final ça ferait ça :

A1 : B500
A2 : B500
A3 : B500

A4 : B600
A5 : B600



Savez-vous comment faire ?
D'avance merci !
 
Dernière édition:
Re : MACRO LOOP + Insertion d'une ligne vierge

La macro "mise en forme 1" me permet de supprimer des colonnes et de faire egalement mon calcul.
je sais bien que ce serait + simple de faire le calcul ans la colonne "total" grace a une macro qui arreterait le calcul
quand on arriverait a la derniere ligne mais je n'y arrive pas ! c'est pour ça que je la copie jusqu'a la ligne 1000 au cas ou pour
les prochains tableaux il y ait + de lignes que dans celui actuel !
 
Re : MACRO LOOP + Insertion d'une ligne vierge

Re,

Oui, pour que la méthode que j'utilisais fonctionne, il ne faut pas qu'il y ait 3 cellules adjacentes avec des valeurs différentes.

Il faut donc utiliser la méthode classique : insertion de lignes en commençant par le bas :

Code:
Sub Mise_en_Forme_2()
Dim i As Long
Application.ScreenUpdating = False
On Error Resume Next 'si aucune cellule vide en colonne A
Range("H1", [H65536].End(xlUp)) _
  .SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'supprime les lignes vides
For i = [H65536].End(xlUp).Row To 2 Step -1 'commence par le bas
  If Cells(i, "H") <> Cells(i - 1, "H") _
    Then Rows(i & ":" & i + 1).Insert '2 lignes insérées
    'Then Rows(i).Insert '1 ligne insérée
Next
End Sub
Fichier joint.

Nota : j'ai mis la colonne H au format Texte car il y a des nombres commençant par des zéros...

A+
 

Pièces jointes

Re : MACRO LOOP + Insertion d'une ligne vierge

Job75 (ou tout autre personne bien sur) je ne sais pas si tu es encore la, mais du coup j'ai une question encore..
une fois que tu as inséré les lignes vierges, penses-tu qu'il soit possible de faire la somme des 3 dernieres colonnes pour chaque groupe ?
 
Re : MACRO LOOP + Insertion d'une ligne vierge

Re,

Finalement c'est assez simple. TOTAL GROUPE est en colonne V :

Code:
Sub Mise_en_Forme_2()
Dim fin As Long, i As Long, ad As String
Application.ScreenUpdating = False
Application.Calculation = xlManual 'mode calcul manuel, évite le recalcul
On Error Resume Next 'si aucune cellule vide en colonne A
Range("H1", [H65536].End(xlUp)) _
  .SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'supprime les lignes vides
fin = [H65536].End(xlUp).Row
For i = fin To 2 Step -1 'commence par le bas
  If Cells(i, "H") <> Cells(i - 1, "H") Then
    ad = Cells(i, "U").Resize(fin - i + 1).Address(0, 0)
    Cells(fin, "V").Formula = "=SUM(" & ad & ")" 'total groupe
    fin = i - 1 'dernière ligne du groupe au dessus
    Rows(i & ":" & i + 1).Insert '2 lignes insérées
    'Rows(i).Insert '1 ligne insérée
  End If
Next
Application.Calculation = xlAutomatic 'calcul remis en automatique
End Sub
Fichier (2).

A+
 

Pièces jointes

Dernière édition:
Re : MACRO LOOP + Insertion d'une ligne vierge

Re,

Bien entendu si la colonne TOTAL (par ligne) est supprimée, on utilise :

Code:
ad = Cells(i, "R").Resize(fin - i + 1, 3).Address(0, 0)
Cells(fin, "U").Formula = "=SUM(" & ad & ")" 'total groupe
Fichier (2bis).

A+
 

Pièces jointes

- 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
4
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…