Ajout de lignes vides sous certaines conditions.

Boby -  
via55 Messages postés 14393 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

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    1. 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
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour Boby, Via

      ton message apparaît il sans filtrer sur la colonne 7 ?
      0
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    1. 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
  3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Ton fichier en retour
    https://mon-partage.fr/f/JfdrH9Df/
    0
    1. Boby
       
      Merciii vous m'avez sauvé la vie. Et pour les supprimer ?
      0
  4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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