Ajout de lignes vides sous certaines conditions.

Boby -  
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Avant toutes choses ma base de données est trié par rapport aux données de la colonne A puis B puis C puis D. J'obtiens donc des groupes de données. Je voudrais rajouter une ligne vide sous la dernière ligne d'un groupe de données dès que le nombre change dans la colonne C

Merci de votre aide.

Configuration: Android / Chrome 71.0.3578.98

4 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour Boby

T+F11 pour pour ouvrir éditeur VBA puis Insertion et Module -copier coller la macro et fermer l'éditeur )
Sub ajout()

Dim Ligne As Long
Ligne = Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row
For n = Ligne To 1 Step -1
If Range("C" & n) <> Range("C" & n + 1) Then
Rows(n + 1 & ":" & n + 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
 End If
Next
End Sub

Lancer ensuite la amcro dans la page depuis onglet Developpeur - Macros

Cdlmnt
Via
0
Boby
 
J'ai un message qui m'indique "dépassement de capacité " pourtant j'ai que 200 lignes et je filtre en fonction de la donnée de la colonne 7. Où est mon problème ?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Bonjour Boby, Via

ton message apparaît il sans filtrer sur la colonne 7 ?
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Sans connaitre la structure du fichier impossible de dire
Poste un exemple de ton fichier sir cjoint.com, fais créer un lien que tu copies et reviens coller ici

0
Boby
 
https://www.cjoint.com/c/HLskWCIeIEX
Voici mon fichier. Je veux ajouter une ligne à chaque changement de données de la colonne G.
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Ton fichier en retour
https://mon-partage.fr/f/JfdrH9Df/
0
Boby
 
Merciii vous m'avez sauvé la vie. Et pour les supprimer ?
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Dans ce cas il convient de créer une seconde macro :
Sub supprime()

Dim Ligne As Long
Ligne = Columns(7).Find("*", , , , xlByColumns, xlPrevious).Row
For n = Ligne To 1 Step -1
If Range("G" & n) = "" Then
Rows(n & ":" & n).Select
Selection.Delete Shift:=xlUp
 End If
Next
End Sub

0