Création d'une macro pour insertion d'une ligne vide

Bonjour j'ai besoin d'un coup de main venant d'expert,

Voila j'aurai besoin de créer une macro me permettant d'insérer des lignes vide entre des lignes de donnée.

Pour etre plus clair je vous join un fichier expliquant mon besoin, je suis disponible pour apporter plus de précisions

D'avance merci

33forumv1.xlsm (25.60 Ko)

Bonjour

Essaie ce code à lier à ton bouton

Sub test()
'Dan
Dim cel As Range
Dim dlg As Integer, i As Integer
With ActiveSheet
    dlg = .Range("F" & .Rows.Count).End(xlUp).Row
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=Range("F5:F" & dlg), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
    With .Sort
        .SetRange Range("A4:F" & dlg)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
For i = dlg To 5 Step -1
    If i > 5 And .Range("F" & i).Value <> "" And .Range("F" & i - 1) <> .Range("F" & i) Then .Range("F" & i).EntireRow.Insert
Next
End With
End Sub

si ok, lors de ta réponse clique sur le V vert à coté du bouton EDITER pour cloturer le fil

Cordialement

Bonjour Dan,

Tout d'abord merci de ta réponse et de ta réactivité, aprés insertion du code cela fonctionne cependant j'aurai une modification a te demander, je souhaiterai que la macro ne fonctionne que de la cellule F5 à F46, pourquoi !!!

Je m'explique dans mon exemple je t'ai donné pour affichage mon tableau avec le résultat escompté, hors sur mon fichier d'utilisation j'ai un tableau qui ne doit pas être modifié qui se trouve en dessous. Je pense donc qu'il y a certainement une petite modification pour faire fonctionner la macro que sur une plage voulu.

En tout cas si jamais c'est faisable je te remercie car tu me fais gagner un temp énorme de mise en page.

D'avance merci

re

Une manière rapide pour éviter de réadapter le code (surtout si tu décides de changer le nombres de lignes un jour).

Remplace cette ligne :

dlg = .Range("F" & .Rows.Count).End(xlUp).Row

par

dlg = 46

Amicalement

Bonjour Dan,

Tout d'abord merci pour cet info ca peut être pratique pour la suite, désolé de ne rep que maintenant mais j'ai était absent tout le week end, et oui naissance de mes petits jumeaux

Voila je me permet de revenir vers toi j'ai modifié ta macro comme tu me l'a demandé.

Cependant j'ai quelque demande, je m'explique :

  • J'aurai souhaité dans la macro que avec l'ajout de ligne vierge on en supprime autant sur la fin du premier tableau pour une question de mise en page je ne sais pas si c'est possible ???
  • et comme tu peux le voir dans mon fichier j'ai également un deuxième tableau sous le premier et je souhaiterai que cette macro effecture la meme chose sur le 2ème tableau sans modification de mise en page.

Je ne sais pas si je suis clair mais je me tient a ta disposition pour plus d'information

Ci joint fichier excel de démo.

D'avance merci


je n'arrive pas a te joindre mon fichier de démo :/

25hebdo-condiv2.xlsm (23.02 Ko)

re

- J'aurai souhaité dans la macro que avec l'ajout de ligne vierge on en supprime autant sur la fin du premier tableau pour une question de mise en page je ne sais pas si c'est possible ???

Dans un message précédent tu m'as parlé de la ligne 46 comme étant maximum. Là je vois que tu vas plus bas. Normal ?

- et comme tu peux le voir dans mon fichier j'ai également un deuxième tableau sous le premier et je souhaiterai que cette macro effecture la meme chose sur le 2ème tableau sans modification de mise en page.

C'est possible en dupliquant le code mais cela nécessite que le premier tableau ne bouge pas vers le bas comme tu l'as fait. Possible cela ?

Sinon une autre solution, pourquoi ne mets tu pas ce deuxième tableau sur une autre feuille. Ce serait nettement plus simple à gérer d'un point de vue programmation

A te relire

Rechercher des sujets similaires à "creation macro insertion ligne vide"