Bonjour,
J'ai une requête concernant une petite macro Excel :
J'ai un tableau de données de plusieurs lignes et colonnes et je veux insérer une ligne de cellule vierge à chaque fois que la valeur de la colonne B change.
Exemple :
Code:
Pomme Pomme
Pomme Pomme
Banane -> devient -> *ligne de cellule vierge*
Banane Banane
Poire Banane
Poire *ligne de cellule vierge*
Poire
Poire
Pour la logique informatique, je vois à peu près ce qu'il faut faire, j'ai surtout un problème dans la syntaxe.
Voila sur quoi je partais, mais cela ne fonctionne pas.
Code:
Sub Espacement()
Dim NoCol As Integer
Dim NoLig As Integer
NoCol = 2 'lecture de la colonne B
For NoLig = 1 To 300 Step 1
If Cells(NoLig + 1, NoCol) <> Cells(NoLig, NoCol) Then Rows(NoLig).Select
Selection.Insert Shift:=xlDown
Next NoLig
End Sub
Cela m'insère 300 lignes vide
Merci d'avance pour votre aide.
Bonjour,
Ce code est parfait sauf qu'a chaque fois qu'on excute la macro, cela nous rajoute des lignes. Avez vous des pistes pour inclure une condition du type "si c'est une ligne vide alors passer à la suivante sans rajouter de nouvelle ligne "
Merci !
Sub test()
For n = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
If Range("A" & n - 1) <> Range("A" & n) and range("A" & n-1) <>"" Then
Rows(n).Insert
End If
Next
End Sub
Sub test()
For n = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
If Range("A" & n - 1) <> Range("A" & n) and range("A" & n) <>"" and range("A" & n-1) <>"" Then
Rows(n).Insert
End If
Next
End Sub